我有一个自定义NSObject
类,我的数组用于我想要使用的数据等。但是我如何分配和初始化这个类对象,并在任何地方使用它而不总是使用:{{1因为这每次都会从我的类中创建一个对象,所以数据完全关闭。
我总是得到关于如何处理CustomClass class = [[CustomClass alloc] init];
内容的事情,但没有关于如何处理在内存中说出的类的事情,并且每次都可以使用而不用通过所有其他类创建新类。
答案 0 :(得分:6)
了解单身或共享实例。这是目前最商定的版本:
+ (MyClass *)sharedInstance {
static MyClass *sharedInstance;
static dispatch_once_t onceToken;
dispatch_once(&onceToken,^{
sharedInstance=[[MyClass alloc]init];
});
return sharedInstance;
}
现在MyClass.sharedInstance
(或[MyClass sharedInstance]
旧语法)将为您提供一个类的共享实例。 dispatch_once
的东西是使它线程安全。显然,您需要将MyClass
替换为您的班级名称。
答案 1 :(得分:0)
您需要使用单一模式,如本回答Correct Singleton Pattern Objective C (iOS)?中所述 只运行该类的一个实例,并且可以在整个代码中使用。