gpt4 book ai didi

cocoa-touch - @property 指向单例(或共享实例): strong or weak and why?

转载 作者:行者123 更新时间:2023-12-03 16:25:49 24 4
gpt4 key购买 nike

假设我有一个像这样初始化的sharedInstance

+ (MySingleton *)sharedInstance
{
static TheConstantsPlaceholder *sharedInstance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedInstance = [[TheConstantsPlaceholder alloc] init];
// Do any other initialisation stuff here
});
return sharedInstance;
}

那么,在引用该对象的类中我应该做什么(以及为什么我应该这样做):

  • @property(强,可读写)MySingleton * mySingleton

  • 或:@property(弱,可读写)MySingleton * mySingleton

最佳答案

weak 仅当被引用的对象可以被释放时才有用,在您的 sharedInstance 的情况下,这不会发生 - 对象被创建一次,然后生存申请的持续时间。因此,请在这里坚持使用 strong (您也可以使用 assign 因为您知道这样做是安全的,但没有充分的理由这样做,而且可能会令人困惑) .

关于cocoa-touch - @property 指向单例(或共享实例): strong or weak and why?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21327386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com