如何在弧中创建非保留对象数组?这些对象是该数组中的观察者。目前,我正在以这种方式创建这个数组:
_observers = CFBridgingRelease(CFArrayCreateMutable(NULL, 0, NULL));
问题是在此行中发出通知时代码有时会崩溃:
for (NSInteger i = [_observers count] - 1; i >= 0; i--) {
// crash line
id<ListModelObserver> observer = (id<ListModelObserver>)[_observers objectAtIndex:i];
...
我启用了僵尸,并在调试控制台中清楚地看到观察者对象类名。在 dealloc 期间,观察者对象应该已经从 _observers 中删除了……我唯一想到的是 _observers 数组以某种方式保留了它的对象。有任何想法吗?