这很奇怪。我认为我是一个典型的委托属性声明:
@property (weak) id<BTSAudioStreamerDelegate> delegate;
如果我从另一个对象分配给它:
btsAudioStreamer.delegate = self;
它保留了代表!我有一个dealloc的NSLog,它没有被调用。如果我注释掉委托分配行,它确实如此。此外,第一个对象播放音频,如果它没有解除分配,我最终会同时播放两个音频流。不好!我该怎么调试呢?
编辑:我应该提一下,在分配任何新对象之前,我设置了btsAudioStreamer.delegate = nil。