【发布时间】:2010-11-29 17:47:21
【问题描述】:
编辑: 我已按照建议更改了 NSPredicate,以便我的获取代码看起来像这样。像这样打印到 UITextView 后,当我按下加载时,它会吐出以下内容:
<NSManagedObject: 0x1c7cf0>(entity: DatedText; id: 0x1420c0 <x - coredata://B52D4F88-0210-4AE2-9DA6-C05ED64FE389/DatedText/p12> ; data: <fault>)
所以要么它没有获取任何数据数据,因为它没有正确保存/加载,要么我试图以不正确的方式将加载的结果放入 UITextView。有什么想法吗?
NSFetchRequest *fetch = [[NSFetchRequest alloc] init];
NSEntityDescription *testEntity = [NSEntityDescription entityForName:@"DatedText" inManagedObjectContext:self.managedObjectContext];
[fetch setEntity:testEntity];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"dateSaved == %@", datePicker.date];
[fetch setPredicate:pred];
NSError *fetchError = nil;
NSArray *fetchedObjs = [self.managedObjectContext executeFetchRequest:fetch error:&fetchError];
if (fetchError != nil) {
NSLog(@" fetchError=%@,details=%@",fetchError,fetchError.userInfo);
return nil;
}
NSString *object = [NSString stringWithFormat:@"%@",[fetchedObjs objectAtIndex:0]];
noteTextView.text = object;
我在研究如何使用 Core Data 时遇到了各种各样的问题,所以我回到了基础,使用核心数据的基于新窗口的 ipad 项目。
我添加了一个视图和一些不起作用的代码,呵呵。我基本上试图将一些文本保存到一个日期,然后当回到那个日期时,之前保存的文本将再次显示。
【问题讨论】:
-
哪位不起作用?它崩溃了吗?或者只是不做你期望的?您是否尝试过调试器并设置断点?即在采取各种步骤后设置断点,然后查看变量并确保它们包含您期望的内容。把你的发现放在这里,我会回来再看看。
-
项目先生:mediafire.com/?1x77zf8x21i84d1 随意看看。我发现它在到达时崩溃:
NSArray *fetchedObjs = [self.managedObjectContext executeFetchRequest:fetch error:&fetchError];inloadNotes。 -
不要只是(再次)将人们指向您的项目,而是描述您遇到的问题或您对此的疑问。
-
另外,您应该描述实际的崩溃,而不仅仅是说它崩溃。这样可以更轻松地帮助人们。
-
您在发布问题时应该更加具体,至少包括您收到的错误消息。不过,我已经查看了您的项目,并且在下面的回答中概述了解决方案。
标签: iphone objective-c ipad core-data uidatepicker