اي فون - تمرير مجموعة بين جهازي تحكم غير متجاورة

StackOverflow https://stackoverflow.com/questions/1032719

  •  06-07-2019
  •  | 
  •  

سؤال

وأنا بناء التطبيق الذي يبدأ تحميل "تحميل" تحكم الرأي الذي يجلب مجموعة من البيانات من خلال مكالمة API. مرة واحدة يتم إرجاع البيانات، والتطبيق ثم يخفي عرض وحدة التحكم هذه طريقة العرض، ويقوم بتحميل وحدة تحكم شريط التبويب، الذي يضم جهازي تحكم الملاحة.

والقول الأول دفعت على وحدة تحكم الملاحة الأول هو طريقة عرض جدول. وفي هذا عرض الجدول الذي أحتاج لعرض البيانات التي تم استردادها من استدعاء API في 'تحميل' تحكم العرض الأولى.

ويمكن للشخص الرجاء شرح لي كيف ستمر هذه البيانات بين وحدات التحكم عرض جدول "تحميل" و؟ وبالنظر إلى أنها لا تعرف عن بعضها البعض.

ملاحظة هامة هي أن البيانات يجب جلب قبل تحميل تحكم شريط التبويب، لذلك ليس من الممكن ببساطة جلب البيانات من خلال وحدة تحكم عرض الجدول الذي سيتم استخدامه.

هل كانت مفيدة؟

المحلول

وبياناتك تابعا للتطبيق، وبالتالي فإن مندوب تطبيق يمكن الحفاظ على مؤشر إلى البيانات، ثم الرأيين يمكن الوصول إليه باستخدام [[UIApplication sharedApplication] delegate].

وثمة خيار آخر يتمثل في إرسال رسالة مع البيانات إلى مندوب التطبيق عند اكتمال التحميل. أفترض تفعلونه بالفعل شيئا من هذا القبيل منذ تقوله التطبيق يخفي وجهة نظر تحكم طريقة العرض، بدلا من وحدة تحكم عرض إخفاء نفسه. بطريقة ما يجب أن نعرف أن اكتمال التحميل. لذلك، في وحدة تحكم التحميل:

- (void) downloadFinished {
    [listener downloadFinished:data];
}

وفي مندوب التطبيق الخاص بك (على listener من المقتطف السابق):

- (void) downloadFinished:(NSData *)data {
    CustomViewController *c = [[[CustomViewController alloc] initWithData:data] autorelease];
    [downloadView removeFromSuperview];
    [window addSubview:c.view];
}

وأين عهدك صفقات رأي تحكم مع تحميل NIB وعقد البيانات للوصول من الجدول.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top