我需要在我的课程中创建一个引用到我的另一个单例类。
所以我在界面中声明如下所示:
@property (weak, nonatomic) AudioStreamer *radioStreamer;
稍后就像这样抓住一个类的实例:
self.radioStreamer = [AudioStreamer sharedManager];
使用weak
最好的方法吗?我对应用程序没有任何问题,并且一切都按预期工作,但我不确定这是否是使用单例时的最佳做法。
我是应该使用属性还是使用ivar更有意义。
任何人都可以就治疗单身人士的最佳方法提出建议。
答案 0 :(得分:1)
如果你的单身人士永远不会被摧毁,那么weak
肯定有效。如果它可以被销毁,您可能想要使用strong
。其中大部分将取决于背景。 weak
对于永远不会被释放的单身人士的意义较小。
我想坚持weak
/ strong
的广义最佳做法。出于有效目的,单例变成了该类的一个实例,尽管是您引用的单个实例。
例如,如果您使用radioStreamer
作为方便的手段(以及没有遇到sharedInstance
查找的开销,strong
可能是您想要的精神