آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

ساخت چندین نمونه از Protocol

صادقی راد  8 سال پیش  8 سال پیش
0 0

با سلام

زمانی که در اندروید از Interface ها استفاده میشد و نیاز بود از اونها در توابع خودمون در سایر کلاس ها استفاده کنیم , اون ها رو new میکردیم و توابع مورد نیاز هم Implement میشدن ولی به نظر میاد در IOS چنین امکانی رو نداریم و صرفا باید کلاس ایمپلمنت بشه و فقط یک بار توابع Protocol ها رو بنویسیم و پارامتر self رو به تابع پاس بدیم , اگر دوستان ایده ای دارن واسه حل این مشکل ممنون میشم به اشتراک بذارن

مثال (اندروید)‌:

//Class A
interface someInterface{
void someInterfaceMethod()
}

someInterface listener;

void someMethod(someInterface listener){
this.listener = listener
//Blah, Blah, Blah
//
//
listener.someInterfaceMethod()
}


//Class B
A classAInstance = new A()
classAInstance.someMethod(new someInterface(){
public someInterfaceMethod(){
//Do Something
}
}

امکان اجرا در swift هست یا خیر ؟ اگر نه راه حل مشابه دیگه ای وجود داره ؟

مورد استفاده :‌ استفاده از یک Observer در کلاس وب سرویس و اطلاع دادن پاسخ سرور به برنامه , از اونجایی ک تعداد وب متد ها زیاد هست و تمامی درخواست ها از یک کلاس واسط فرستاده میشه نیاز هست چندین مرتبه نمونه ساخته بشه و طبق نیاز هر قسمت از برنامه , جواب سرور Parse بشه

با تشکر

 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
QUQU  8 سال پیش
+1 0

 پاسخ صحیح

لازم نیست اینجا از Protocol استفاده کنین. از CompletionHandler استفاده کنین. (واس هر متدتون CompletionHandler تعریف کنین و وقتی اطلاعات رو دریافت کردین از سرور مثلا اون رو صدا بزنین و این طرف هر کاری میخواین انجام بدین باش.)
همین حالتی میشه که توی جاوا استفاده میکردین تقریبا. فقط راجب completionHandler ها یه سرچ بزنین.


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .