我正在尝试设置一个对象的属性,但它仍然为空。谁能告诉我为什么,好吗?
声明:
@property (nonatomic, strong) ListItem *listItem
代码如下:
NSLog(@"Selected: %@", [self.fetchedResultsController objectAtIndexPath:indexPath]);
[listItem setCategory:[self.fetchedResultsController objectAtIndexPath:indexPath]];
NSLog(@"set %@", listItem);
和输出:
2012-06-28 14:47:43.037 MarketList[10508:fb03] Selected: <Category: 0xb72a9e0> (entity: Category; id: 0xb7252e0 <x-coredata://F9BFC1DF-1D80-477E-9BC6-3C0949AD922F/Category/p2> ; data: {
listItem = "<relationship fault: 0x6d29930 'listItem'>";
name = "Teste 2";})
2012-06-28 14:47:43.038 MarketList[10508:fb03] set (null)
最佳答案
您的变量 listItem
包含 nil
,而不是 ListItem 的实例。您实际上从未将它指向 ListItem 的实例,因此在您的方法结束时它仍然是 nil
。向 nil
发送消息不会导致对象神奇地出现以接收消息 — nil
只是静静地吞下它。您必须先创建 ListItem,然后设置其属性。
关于iphone - 设置后对象保持为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11250547/