@property声明最适合保存单例类

时间:2016-09-18 20:44:10

标签: objective-c

我需要在我的课程中创建一个引用到我的另一个单例类。

所以我在界面中声明如下所示:

@property (weak, nonatomic) AudioStreamer *radioStreamer;

稍后就像这样抓住一个类的实例:

self.radioStreamer = [AudioStreamer sharedManager];

使用weak最好的方法吗?我对应用程序没有任何问题,并且一切都按预期工作,但我不确定这是否是使用单例时的最佳做法。

我是应该使用属性还是使用ivar更有意义。

任何人都可以就治疗单身人士的最佳方法提出建议。

1 个答案:

答案 0 :(得分:1)

如果你的单身人士永远不会被摧毁,那么weak肯定有效。如果它可以被销毁,您可能想要使用strong。其中大部分将取决于背景。 weak对于永远不会被释放的单身人士的意义较小。

我想坚持weak / strong的广义最佳做法。出于有效目的,单例变成了该类的一个实例,尽管是您引用的单个实例。

例如,如果您使用radioStreamer作为方便的手段(以及没有遇到sharedInstance查找的开销,strong可能是您想要的精神