كيف تصميم واحد datasource عن UITableView من أجل فرز مع UISegmentedControl?
-
20-08-2019 - |
سؤال
أنا في عملية تصميم والترميز تطبيق اي فون لعرض الفيلم مرات.لدي حاليا فيلم الطبقة التي تحتوي على:
NSString title
NSSDate releaseDate
NSSDate score
بلدي واجهة المستخدم بسيطة UINavigationController
الذي لديه السيطرة مجزأة كما هو العنوان ، UITableView
لعرض أفلام الإعداد في واجهة البناء.مجزأة السيطرة على 3 أجزاء:العنوان ، تاريخ افتتاح ، درجة (على RottenTomatoes).بيانات عرض الجدول حاليا عن طريق NSMutableArray movies
الذي هو خاصية من AppDelegate.
وأنا أعلم أنني يمكن تسجيل هدف الإجراءات باستخدام التعليمات البرمجية التالية, ولكن أنا متأكد من كيفية فرز UITableView
البيانات في هذه المرحلة:
[segmentedControl addTarget:self action:@selector(action:) forControlEvents:UIControlEventValueChanged];
كيف وأين يمكنني المنتجع UITableView
كلما UISegmentedControl
اختيار الجزء التغييرات ؟
المحلول
أيضا ، يمكنك فرز البيانات مع أي من sortArrayUsing
xxx الطرق في NSArray
.
نصائح أخرى
يمكنك وضع بعض المنطق في البيانات المصدر tableView:cellForRowAtPath:
طريقة للتحقق من القيمة الحالية UISegmentedControl و تغيير الخلية عاد لكل صف حسب الاقتضاء.ثم كلما قيمة مجزأة مراقبة التغييرات كل ما عليك القيام به هو الاتصال
[tableView reloadData];
و كنت كل مجموعة.
لدي شريحة التحكم التي يمكن أن تأمر/تصفية العناصر في ثلاث طرق مختلفة - لأن عدد من عناصر مختلفة اعتمادا على تصفية / أجل أنا استخدم 3 مختلفة NSArray الكائنات لعقد فرز القوائم.
حتى عندما كنت تحميل البيانات وضعت نسخة منه في المكان الصحيح في كل مجموعة (أو في مجموعة اعتمادا على فلتر).
لدي دعوة إلى الحصول على مجموعة التي تستخدم الدولة من السيطرة مجزأة أن تقرر أي مجموعة من العودة.
الأسلوب الذي يدعو مجموعة يستخدم في مكان طبيعي مجموعة وهذا يعني أن كل ما عليك القيام به لتغيير الأمور عندما مجزأة التحكم تغير هو دعوة [tableView reloadData] و كل ما فعلت بالنسبة لي.