سؤال

لدي اثنين من وجهات النظر (مصادر واحدة ومظهر طاولة عادي واحد). أنا لا أستخدم ArrayControllers ، فقط باستخدام:

- (id)tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
            row:(NSInteger)rowIndex;

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView;

هذا لعرض محتويات الصف. لكن المشكلة هي أنه ليس لدي سوى طاولة واحدة - لدي أكثر من واحد. لذلك أضفت nsobject آخر مع هذه الرموز في الداخل. لكن المحتوى لن يظهر.

هل يجب علي استخدام ArrayControllers؟ أو هل يمكنني إظهار محتوى TableView الثاني بطريقة أخرى؟

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

المحلول

ليس عليك استخدام وحدات تحكم الصفيف. في الواقع ، لم تكن موجودة حتى لمعظم حياة الكاكاو. يعمل بروتوكول مصدر البيانات بشكل جيد (أفضل في بعض الحالات).

يمكن أن يكون لديك وحدات تحكم منفصلة (واحدة لكل جدول) بالطبع ، ولكن لاحظ أنك تحصل على مرجع إلى عرض الجدول في كل من أساليب مصدر البيانات وطرق المفوض (AtableView في المصدر الخاص بك أعلاه) ، حتى تتمكن من إعطاء استجابة مختلفة اعتمادًا على عرض الجدول. وبهذه الطريقة ، يمكن أن تكون وحدة تحكم واحدة مسؤولة عن كلا الجدولين في واجهة المستخدم الرئيسية/التفاصيل. بعبارات أخرى:

عرض الجدول: "ما هو العمود A من الصف 3؟"

وحدة التحكم الخاصة بك: "من يسأل؟"

فيما يتعلق ببياناتك التي لا تظهر ، هل قمت بتسهيل وحدة التحكم الثانية الخاصة بك وتوصيل مصدر بيانات جدول المشكلة؟ هل طلبت من الجدول -Reloaddata؟ من الصعب مساعدتك في المعلومات المحدودة التي قدمتها.

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