【发布时间】:2010-06-03 14:03:53
【问题描述】:
我的主应用程序中嵌入了一个简单的待办事项列表, 我已经在一个单独的项目中建立了它,然后我小心地将它添加到我的主项目中,一切都很好,但是当我编写待办事项并单击保存按钮时,程序崩溃了!有什么问题?
我的代码:
self.navigationItem.rightBarButtonItem =
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave
target:self
action:@selector(save_Clicked:)]
autorelease];
那么 save_Clicked 的实现是:
- (void) save_Clicked:(id)sender {
HomeAppDelegate *appDelegate =
(HomeAppDelegate *)[[UIApplication sharedApplication] delegate];
//Create a todo Object.
todo *todoObj = [[todo alloc] initWithPrimaryKey:0];
todoObj.todotitle = txttodotitle.text;
todoObj.tododes = txttododes.text;
/*
NSString *temp = [[NSString alloc] initWithString:txttododes.text];
todoObj.tododes = temp;
[temp release];
*/
todoObj.isDirty = NO;
todoObj.isDetailViewHydrated = YES;
//Add the object
[appDelegate addtodo:todoObj];
//Dismiss the controller.
[self.navigationController dismissModalViewControllerAnimated:YES];
}
并且控制台中的错误消息输出是:
2010-06-03 17:12:45.720 主页[29728:207] 没有错误 2010-06-03 17:12:45.726 Home[29728:207] 警告:由于 tableView:accessoryTypeForRowWithIndexPath: in 的委托实现,使用旧版单元格布局。请删除此方法的实现并设置单元格属性附件类型和/或编辑附件类型以移动到新的单元格布局行为。在以后的版本中将不再调用此方法。 2010-06-03 17:12:59.447 Home[29728:207] * -[todo addtodo]、/Users/HOME/Desktop/withretriveAnn/Home 副本 5-ToDO/Classes/todo.m 中的断言失败: 90 2010-06-03 17:12:59.448 Home[29728:207] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“创建添加语句时出错。 '没有这样的表:待办事项''
- 我确实使用了 iPhone 数据库来保存 ToDo 列表。
【问题讨论】:
-
可能有助于发布代码...
-
提供你的代码,或者至少,当你的应用程序崩溃时,在 Xcode 控制台中输出错误消息。
-
……它可以在任何地方。没有看到代码,这个问题是无法回答的。如果没有看到崩溃消息,这个问题是不可能回答的。请更新您的问题
-
好的对不起,我用代码和错误消息更新了我的问题,请帮助我谢谢。
-
看来您正在使用 Core Data 并且没有创建“待办事项”实体。在您的 XCode 项目中的 Resources 下,双击 xcdatamodel 文件,然后添加一个“todo”实体或检查它是否拼写错误或大小写不同。
标签: iphone objective-c core-data