سؤال

لقد حصلت على اثنين من التحكم في واجهة البناء ملف كل من هذه الضوابط لقد خلق منفصلة مندوب فئة رمز (Control1Delegate و Control2Delegate).أنا خلقت اثنين من "الكائنات" في واجهة البناء ، جعلهم من هذا النوع ، متصلا الضوابط لهم كما المندوبين.المندوبين تعمل على ما يرام.مشكلتي هي أنني بحاجة إلى مشاركة المعلومات من مندوب واحد إلى آخر مندوب ، وأنا لست متأكدا كيف.

ما هي أفضل طريقة للقيام بذلك ؟ الجمع بين اثنين من المندوبين في فئة واحدة ، أو بطريقة أو بأخرى الوصول إلى الدرجة الثالثة أنهم على حد سواء يمكن أن تقرأ ؟ وبما أنني لست في الواقع تهيئة الطبقة في أي مكان في التعليمات البرمجية, أنا لست متأكدا من كيفية الحصول على إشارة إلى المثال الفعلي من أنه (إذا كان هناك فعلي سبيل المثال من ذلك) ، أو حتى الوصول إلى "الرئيسية" class أن المشروع جاء مع.

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

المحلول

يمكنك إضافة منافذ إما من مندوب إلى أخرى مندوبة.هناك طريقتان لإضافة منفذ إلى كائن في IB (على افتراض أنك تستخدم كسكودي/IB الإصدار 3.0 أو في وقت لاحق:

  1. إذا لم تكن قد ولدت رمز الخاص بك مندوب الطبقات بعد ، حدد مندوب ، ثم فتح كائن "الهوية" في علامة التبويب IB المفتش.إضافة فئة "مخرج" من نوع NSObject.ثم يجب أن تكون قادرا على تعيين هذا الفرع الجديد إلى أخرى مندوبة.بالطبع سيكون لديك لإنشاء التعليمات البرمجية الخاصة بك مندوب فئة وإضافة إنشاء ملفات المصدر أن المشروع كسكودي الخاص بك قبل أن يمكنك تحميل بنك الاستثمار القومي.

  2. إذا كنت قد ولدت بالفعل رمز الطبقة مندوب (أو إضافة NSObject إلى بنك الاستثمار القومي ووضع فئة إلى فئة موجودة في كسكودي المشروع) ، إضافة متغير مثيل إلى الطبقة مندوب:

    IBOutlet id outletToOtherDelegate;

    طالما أن لديك كسكودي المشروع مفتوح (كما هو مبين من قبل فقاعة خضراء في الجانب السفلي الأيسر من بنك الاستثمار القومي نافذة), IB تلقائيا الكشف عن منفذ جديد و تسمح لك تعيين إلى أخرى مندوب الكائن في بنك الاستثمار القومي.

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

نصائح أخرى

أعتقد يمكنك إنشاء منافذ على كل واحد عبر ربط لهم بحيث يكون لكل نفس البيانات في كل وقت.إذا كان هناك نموذج واحد كائن فإنها تحتاج إلى أن تكون جميلة ومرتبة.أنا في الواقع لا أعرف كيف أفعل هذا ؛ أعتقد أنني رأيتها في اي فون التعليمي وقت واحد!

أنا لا أملك ماك أمامي حاليا منذ أنا في العمل ، ولكن سيكون من الممكن ربط مثيل أحد المندوبين إلى الأعضاء الأخرى تفويض ؟ هذا سيكون مماثلا ملزم وهو NSArrayController إلى عضو آخر تحكم الفئة ، على سبيل المثال.

ومع ذلك, اعتمادا على ما هو مندوب فئات ، إن مهام مشابهة أنا ربما مجرد الجمع بينهما في مرة واحدة في الصف.التي من شأنها القضاء على هذه المشكلة تماما.

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