我需要通过由CoreData管理的视图中的对象,所以我的UITableViewController类的后代创建相同类型的属性是这样的:CoreData故障和数据无法读取,当我需要他们
@property (strong) Event *udalostTermin;
在@interface和
@synthesize udalostTermin;
在@implementation和填充这个属性只是pushViewController前:动画:观被调用。
当viewDidLoad中,一切都还OK,打印表示:
<Event: 0x868c160> (entity: Event; id: 0x8684220
<x-coredata:///Event/t22D3C10C-1BFC-40DE-918F-0E12A5473CA03> ; data: {
createDate = "2012-06-29 11:21:37 +0000";
doctor = nil;
end = "2012-06-29 11:21:37 +0000";
等。但是,当应用程序运行到的tableView:的cellForRowAtIndexPath:在这里我需要显示的数据,对象的打印表示:
<Event: 0x868c160> (entity: Event; id: 0x8684220
<x-coredata:///Event/t22D3C10C-1BFC-40DE-918F-0E12A5473CA03> ; data: <fault>)
没有明确地做与物体任何事情之前,因此对象给了我错了,空的数据。请问我做错了什么?
这里有两个不同的东西:一个物体变成故障和错误的数据。即使它是一个错误,它仍然应该得到正确的数据,当你要求它。当你尝试访问'Event'的属性时,你会看到什么? (也可以在'Event'中创建一个'didTurnIntoFault'方法,并在其中放置一个断点,以了解它为什么被调用。) –
在viewDidLoad中,'po [udalostTermin createDate]'给出 '(id)$ 2 = 0x08647be0 2012-06-29 12:28:06 + 0000'。在tableView:cellForRowAtIndexPath中:它给出'(id)$ 3 = 0x00000000'。当应用程序在didTurnIntoFault中停止时,NSLog:调用自身的打印函数:(entity:Event; id:0x805bc00 ;数据:{ CREATEDATE =零; 医生=零; 结束=零;' 等 –
MoreFamed
我跑出来的想法:)在'didTurnIntoFault',如果你把'的NSLog(@“didTurnIntoFault:%@。 “,[NSThread callStackSymbols]);',它给出了为什么被调用的任何提示? –