IOS CoreData,NSManagedObjectContextConcurrencyType使用哪个?为什么?

IOS CoreData,NSManagedObjectContextConcurrencyType使用哪个?为什么?,第1张

概述我无法理解NSManagedObjectContextConcurrencyType的文档.我会针对以下情况使用哪种类型,为什么? - (void)viewDidLoad{ self.managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:???]; [self loadReco 我无法理解NSManagedobjectContextConcurrencyType的文档.我会针对以下情况使用哪种类型,为什么?

- (voID)vIEwDIDLoad{    self.managedobjectContext = [[NSManagedobjectContext alloc] initWithConcurrencyType:???];    [self loadRecordsFromCoreData];}- (voID)loadRecordsFromCoreData {[self.managedobjectContext performBlockAnDWait:^{    //[self.managedobjectContext reset]; //do I need to do this?    NSError *error = nil;    NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityname:@"Item"];    nspredicate *predicate = [nspredicate predicateWithFormat:@"display == YES"];    [request setPredicate:predicate];    [request setSortDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"order" ascending:YES]]];    self.items = nil;    self.items = [self.managedobjectContext executeFetchRequest:request error:&error];}];[self displayItems];}

-displayItems将根据self.items数组中对象的属性显示视图,例如item.image,item.Title,item.descriptionText等.

解决方法 NSMainQueueConcurrencyType.

UI事件(例如视图确实加载)发生在主线程上.您将在主线程上 *** 作对象(在本例中为self.items),因此您应该确保将它们提取到上下文中/保存在该线程上.

nsprivateQueueConcurrencyType适用于在后台线程上完成工作的上下文.

总结

以上是内存溢出为你收集整理的IOS CoreData,NSManagedObjectContextConcurrencyType使用哪个?为什么?全部内容,希望文章能够帮你解决IOS CoreData,NSManagedObjectContextConcurrencyType使用哪个?为什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1038436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存