gpt4 book ai didi

ios - 我的单例可以改进吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:55 27 4
gpt4 key购买 nike

我对 iOS 5 单例有点陌生,我正在使用这里记录的单例:

iOS 5 Singletons

像这样:

MyManager.h

#import <Foundation/Foundation.h>
@interface MyManager : NSObject

//Data for section 1
@property(nonatomic,copy) NSString * section1a;
@property(nonatomic, assign) NSUInteger section1b;


//Data for section 2
@property(nonatomic,copy) NSString * section2a;
@property(nonatomic, assign) NSUInteger section2b;

+ (id)sharedInstance;
@end

我的经理.m

@implementation MyManager
@synthesize section1a, section1b, section2a; , section2b;

+ (id)sharedInstance
{
static dispatch_once_t pred = 0;
__strong static id _sharedObject = nil;
dispatch_once(&pred, ^{
_sharedObject = [[self alloc] init]; // or some other init method
});
return _sharedObject;
}
@end

所以我是这样使用的:

MyManager * myManager = [MyManager sharedInstance];
myManager.data = self.data

这就是您通常使用单例的方式吗?我错过了什么吗?对于基本问题,我很抱歉,我只是想确保我做对了。

谢谢

最佳答案

你做得对。这是(目前 :) 在启用 ARC、多线程等情况下可以正常工作的方法。

它不是严格意义上的单例,因为您可以分配该类的更多实例,但我认为这与您的情况无关。

关于ios - 我的单例可以改进吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11564376/

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