核心数据详细信息视图有问题

时间:2012-02-20 05:56:24

标签: iphone objective-c ios xcode core-data

我正在使用我正在制作的iPhone应用程序遇到一些问题。我的xcdatamodel中有两个实体:Team和Camera。每个团队都有一个摄像头,每个摄像头都属于一个团队。我已经将Team实体正确地实现到我的基于导航的应用程序中,以便我可以将团队添加到表视图中。但是,当我点击披露按钮并调用团队的Camera实体以便我拍照并存储它时,我的应用程序崩溃了。

这是我的RootViewController.m中与Camera实体相关的代码。

-(void)insertCameraWithTeam:(NSManagedObject *)team picture:(NSString *)picture {
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSManagedObject *camera = [NSEntityDescription insertNewObjectForEntityForName:@"Camera" inManagedObjectContext:context];
[camera setValue:picture forKey:@"picture"];
}


#pragma mark -
#pragma mark Table view data source

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
NSManagedObject *team = [self.fetchedResultsController objectAtIndexPath:indexPath];
CameraDetailView *cameraDetailView = [[CameraDetailView alloc] initWithRootController:self team:team];
[self.navigationController presentModalViewController:cameraDetailView animated:YES];
[cameraDetailView release];
}

“initWithRootController ...”在我的CameraDetailView.m中以这种方式实现:

-(id)initWithRootController:(RootViewController *)aRootController team:(NSManagedObject *)aTeam /*camera:(NSManagedObject *)aCamera*/ {
if ((self = [super init])) {
 self.rootController = aRootController;
 self.team = aTeam;
}
return self;
}

时出错
    - (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {

被调用。

有人知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

我通过使用try / catch块发现了我的NIB文件中的链接有问题。解决方案:首先将代码放在try / catch块中以捕获错误!