كيفية برمجيا استرداد الجدول واختيار صف الجدول على البيانات الأساسية التطبيق ؟

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

سؤال

أنا في محاولة لجعل البيانات الأساسية في التطبيق الذي عند تحديد أحد "لاعب" في TableView قائمة من جميع زملائه يظهر في الثانية tableView مع عمود كم مرة هذين اللاعبين لعبوا على نفس "الفريق" (كيان آخر).

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

كيف سيكون نهج هذا ؟

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

المحلول

لك روابط المشكلة وليس البيانات الأساسية المشكلة.:-)

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

موضوع سؤالك يبدو أن تختلف من الجسم ، لذلك سأجيب على حد سواء.

تبين زملائه

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

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

زملائه تحكم صفيف سوف يكون لها كيان و تمكن الكائن سياق إعداد كالعادة (انظر مستندات).إن "contentSet" ستكون ملزمة سيد مجموعة تحكم "اختيار" وحدة تحكم رئيسية ، مع "فريق.اللاعبين" كنموذج مسار مفتاح.

الحيلة هي تصفية رئيسية تحكم اختيار لاعب باستخدام المسندات.هذا يمكنك القيام به مع مجموعة تحكم تصفية المسند.ربما واحد مع تنسيق من "النفس != % @ "،حيث "%@" يمثل ماستر مجموعة تحكم اختيار.سأترك المسندات (موضوع معقد في حد ذاته) لك.تذكر أنه يمكنك تعيين لهم في رمز ([myController setFilterPredicate:myPredicate]) أو باستخدام الارتباطات.المسندات هي مستقلة من البيانات الأساسية كذلك.

الحصول على الاختيار

منذ تحكم صفيف هو المسؤول عن مجموعة جدول يمثل ، فمن الأفضل أن تسأل مجموعة تحكم ما لها اختيار.طريقة واحدة هي أن تطلب -arrangedObjets عن الكائنات في -selectedIndexes.

NSArray * selectedObjects = [[myArrayController arrangedObjects] objectsAtIndexes:[myArrayController selectedIndexes]];

يمكنك أيضا أن تطلب لها -selectedObjects.هناك اختلافات بين هذين النهجين التي وصفها الوثائق (API المرجعية المفاهيمية مستندات) بالتأكيد يجب أن نفهم ، ولكن يسأل المراقب المالي هو أهم مفهوم, بغض النظر عما إذا كنت تستخدم NSArrayController أو بعض مخصص تحكم يتوافق مع والبروتوكولات.

تنويه: كتبته على عجل بعد الاجتماعية ساكي مساء.لا التحقق من الأخطاء.:-)

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