سؤال

أنا على دراية الأساسية المشتركة استخدام 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 وأشار الكائنات.

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