如果这个条件成立,如何解除对象的释放?

时间:2011-12-13 08:47:10

标签: objective-c

如果我检查

,我不明白为什么
po [search searchResults]

我得到:message sent to deallocated instance 0x8835650

即使我正在检查之后的对象以下if语句:

if ([search searchResults]) {
   NSLog(@"[search searchResults] %@", [search searchResults]); // breakpoint here!

我认为只有在分配了对象searchResults时条件才为真。

感谢

1 个答案:

答案 0 :(得分:0)

条件为真,只要search指向除nil以外的任何内容。

即使实例已取消分配,指针该实例也不会自动设置为nil

修改

你最有可能在这里做的是分配一个类的自动释放实例,并将其分配给一个变量而不保留它;随后通过自动释放池排水,引起各种头痛。