如何使用托管对象更新UITableView?

时间:2010-03-10 17:47:11

标签: iphone uitableview core-data

在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 个答案:

答案 0 :(得分:0)

您应该使用NSFetchedResultsController而不是自己管理阵列。然后你只需要对NSFetchedResultsController委托方法做出反应,而不是试图确定什么时候发生了变化。