كيف تحصل على جميع إدخالات nsfetchedresultscontroller/nsmanagedobjectcontext؟

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

سؤال

لدي تطبيق iPhone يعمل بشكل جيد يعمل مع البيانات الأساسية. يمكنني استخدام nsfetchedresultscontroller/nsmanagedObjectContext كما هو موضح في البرامج التعليمية المختلفة.

الآن أريد تمديد تطبيقي وإضافة المزيد من الميزات. المشكلة التي أحتاجها لإنشاء صفيف مع كائنات لها معلومات من بياناتي.

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

اعتقدت أنه يمكنني اتباع نهج مشابه للطريقة التي أحصل بها على البيانات الخاصة بـ UableView.

id <NSFetchedResultsSectionInfo> sectionInfo = [[_fetchedResultsController sections] objectAtIndex:section];

هذا فشل ، لأن لدي بالفعل أقسام متعددة. الآن يمكنني أن أذهب إلى جميع الأقسام وجعل INDEXPATH الخاص بي للوصول إلى بياناتي مع:

MyData *info = [_fetchedResultsController objectAtIndexPath:indexPath];

لكنني أعتقد أن هناك طريقة أخرى لم أجدها بعد وآمل أن يساعدني شخص ما هنا.

شكرًا جزيلاً.

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

المحلول

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

NSArray *fetchedData = [_fetchedResultsController fetchedObjects];

إذا كان لديك أكثر من كيان واحد ، قم ببناء FetchRequest لكل كيان. شيء من هذا القبيل يجب أن يعطيك كل الأشياء الخاصة بك.

NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
NSEntityDescription *entity = [NSEntityDescription entityForName:self.entityName inManagedObjectContext:self.managedObjectContext];
[request setEntity:entity];
NSError *error;
NSArray *results = [self.managedObjectContext executeFetchRequest:request error:&error];

نصائح أخرى

إذا كنت ترغب في الحصول على جميع الكائنات لقسم معين ، فيمكنك القيام بذلك:

NSArray *sectionObjects = [_fetchedResultsController.sections[section_number] objects];
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top