كيف تصميم واحد datasource عن UITableView من أجل فرز مع UISegmentedControl?

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

سؤال

أنا في عملية تصميم والترميز تطبيق اي فون لعرض الفيلم مرات.لدي حاليا فيلم الطبقة التي تحتوي على:

  • NSString title
  • NSSDate releaseDate
  • NSSDate score

بلدي واجهة المستخدم بسيطة UINavigationController الذي لديه السيطرة مجزأة كما هو العنوان ، UITableView لعرض أفلام الإعداد في واجهة البناء.مجزأة السيطرة على 3 أجزاء:العنوان ، تاريخ افتتاح ، درجة (على RottenTomatoes).بيانات عرض الجدول حاليا عن طريق NSMutableArray movies الذي هو خاصية من AppDelegate.

وأنا أعلم أنني يمكن تسجيل هدف الإجراءات باستخدام التعليمات البرمجية التالية, ولكن أنا متأكد من كيفية فرز UITableView البيانات في هذه المرحلة:

[segmentedControl addTarget:self action:@selector(action:) forControlEvents:UIControlEventValueChanged];

كيف وأين يمكنني المنتجع UITableView كلما UISegmentedControl اختيار الجزء التغييرات ؟

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

المحلول

أيضا ، يمكنك فرز البيانات مع أي من sortArrayUsingxxx الطرق في NSArray.

نصائح أخرى

يمكنك وضع بعض المنطق في البيانات المصدر tableView:cellForRowAtPath: طريقة للتحقق من القيمة الحالية UISegmentedControl و تغيير الخلية عاد لكل صف حسب الاقتضاء.ثم كلما قيمة مجزأة مراقبة التغييرات كل ما عليك القيام به هو الاتصال

[tableView reloadData];

و كنت كل مجموعة.

لدي شريحة التحكم التي يمكن أن تأمر/تصفية العناصر في ثلاث طرق مختلفة - لأن عدد من عناصر مختلفة اعتمادا على تصفية / أجل أنا استخدم 3 مختلفة NSArray الكائنات لعقد فرز القوائم.

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

لدي دعوة إلى الحصول على مجموعة التي تستخدم الدولة من السيطرة مجزأة أن تقرر أي مجموعة من العودة.

الأسلوب الذي يدعو مجموعة يستخدم في مكان طبيعي مجموعة وهذا يعني أن كل ما عليك القيام به لتغيير الأمور عندما مجزأة التحكم تغير هو دعوة [tableView reloadData] و كل ما فعلت بالنسبة لي.

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