如何使用托管对象更新 UITableView?
Posted
技术标签:
【中文标题】如何使用托管对象更新 UITableView?【英文标题】:How to update UITableView with managed Objects? 【发布时间】:2010-03-10 17:47:10 【问题描述】:在 viewDidLoad 上我初始化我的数组:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Member" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"creationDate" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[sortDescriptors release];
[sortDescriptor release];
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
[self setMemberArray:mutableFetchResults];
[mutableFetchResults release];
[request release];
这一切都像它应该的那样工作,在 TableView 中我使用 MemberArray,但是如果发生变化,我如何以及在哪里更新我的数组?
感谢您的帮助!
【问题讨论】:
【参考方案1】:您应该使用NSFetchedResultsController
而不是自己管理阵列。那么您只需要对NSFetchedResultsController
委托方法做出反应,而不是试图确定什么时候发生了变化。
【讨论】:
以上是关于如何使用托管对象更新 UITableView?的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 Core Data 中的关系对象创建 UITableView 部分