البيانات الأساسية جلب النتائج تحكم مخصص رأس المقطع
-
23-09-2019 - |
سؤال
أنا على دراية الأساسية المشتركة استخدام NSFetchedResultsController إدارة الصفوف من الجدول ، ولكن لدي مشكلة مثيرة للاهتمام.
بلدي تنظيم البيانات على هذا النحو:جدول <--->> يوم <--->> الطريق.أنا حاليا لدي عرض الجدول الذي يحتوي جداول مع جلب تحكم إدارة إنشاء و حذف جداول.أريد الآن أن إنشاء جدول عرض طرق/أيام.
أود أن قائمة الطريق على كل صف ، إنشاء قسم مخصص الرؤوس التي تتوافق مع المعلومات داخل ذات الصلة اليوم.ربما يمكنني هاك شيء معا عن طريق جلب جميع الطرق ، ثم باجتزاء لهم علاقة عكسية إلى هناك كل يوم ، ولكن أنا قلقة ثم سوف لا تكون قادرة على الاستفادة من جلب تحكم مندوب طرق تحديث الجدول عندما تمكن الكائنات التغيير.
هل من أحد لديه أي خبرة مع هذا ؟ أي أفكار بشأن كيفية المضي قدما ؟
شكرا
المحلول
على NSFetchedResultsController صمم لهذا الغرض, حتى لا تضطر إلى اختراع العجلة.
عند تهيئة الخاص بك NSFetchedResultsController ، يجب أن تنظر في تحديد sectionNameKeyPath.هذا العقار هو بالضبط ما كنت بحاجة إلى تلقائيا توليد القسم بالنسبة لك.
في الحالة الخاصة بك ، أود أن تفعل على النحو التالي:
NSEntityDescription: @"Route"
NSPredicate: @"day = %@"
NSFetchedResultsController: sectionNameKeyPath:@"route.day"
ترى ما أعني, إذا كنت بحاجة إلى المزيد من التعليمات البرمجية لتوضيح أخبرني.
نصائح أخرى
تحتاج إلى بحث في أعقاب العديد العلاقة من خلال NSSet أن خلق لكم لتمثيل الطريق->>يوم المسار في قاعدة البيانات الخاصة بك.على افتراض انك اسمه علاقتك isTraversedOn و اليوم->الجدول الزمني isScheduled سيكون شيئا مثل:
Route *route=[self.fetchedResultsController.fetchedObjects objectAtIndex:0];
for (Day *day in route.isTraversedOn) {
Schedule *schedule = day.isScheduled;
NSLog(@"route is traversed on %@ according to schedule %@",day.name,schedule.name);
}
على NSSet فقط يحفظ الفعلية id وأشار الكائنات.