弱属性(委托)仍然导致保留周期

时间:2014-03-14 20:41:43

标签: objective-c cocoa automatic-ref-counting

这很奇怪。我认为我是一个典型的委托属性声明:

@property (weak) id<BTSAudioStreamerDelegate> delegate;

如果我从另一个对象分配给它:

btsAudioStreamer.delegate = self;

它保留了代表!我有一个dealloc的NSLog,它没有被调用。如果我注释掉委托分配行,它确实如此。此外,第一个对象播放音频,如果它没有解除分配,我最终会同时播放两个音频流。不好!我该怎么调试呢?

编辑:我应该提一下,在分配任何新对象之前,我设置了btsAudioStreamer.delegate = nil。

0 个答案:

没有答案