我有一个对象Person
和协议PersonDelegate
Person
具有@property (assign) id<PersonDelegate> delegate
;目标C - 调用方法的dealloc上委托
的地方在我的代码我做的:
Person *newPerson = [[Person alloc] init];
newPerson.delegate = theDelegate;
...
[theDelegate release]; // and dealloc
...
now Person has some new information for the delegate, so I call in Person
[self.delegate doSomething];
但后来我得到EXC_BAD_ACCESS
这是因为委托已dealloc的?人怎么知道他的代表是dealloc?
但通常代表被分配,它是如何工作的? – Eyal
很可能是因为大多数代表都是视图控制器或持续超过对象本身的对象。在这种情况下,他明确地立即释放代表 – giorashc