3.如何替换master-detail project中的detailview,要把navigation和detail一起删掉,然后创建一个navigation controller,然后由master的table view cell拉出show detail的segue即可。
4.遇到问题,每次都显示了所有list的所有track,即使我没有在新的list中添加任何track,问题出在:我使用了默认的目前被我注释掉的部分。这部分会将整个track表读取出来。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
[self fetchedResultsController];
return 1;
// return [[self.fetchedResultsController sections] count];}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [[(AppPlayList *)_detailItem tracks]count];
// idsectionInfo = [self.fetchedResultsController sections][section];
// return [sectionInfo numberOfObjects];
}
5.然后又发现经常出问题,http://stackoverflow.com/questions/7844326/coredata-error-driving-me-crazy-coredata-serious-application-error-an-excep#
http://stackoverflow.com/questions/11706254/nsinternalinconsistencyexception-reason-attempt-to-insert-row-0-into-section
http://www.itstrike.cn/Question/44fa4f9d-98f1-41ae-8fe8-747e4a48fd5d.html
其实总体来说,就是NSFetchResultsController从数据库中fetch出来的表是所有的track,然而我在tableview中展现出来的只是当前的playlist中的track,导致数据不一致而引发了上面的问题,整整调试了一周,才明白原因。
然后我把NSFetchedResultsController刷新tableview的函数注销掉,就好了~
6.学习了一下NSSortDescriptor sortDescriptorWithKey:@"persistentID"