gpt4 book ai didi

iphone - 实例化单例类

转载 作者:搜寻专家 更新时间:2023-10-30 19:55:17 25 4
gpt4 key购买 nike

我创建了一个单例类来跟踪我在 iPhone 应用程序上的数据。我知道单例只需要实例化一次,但是实例化它的最佳位置是什么?这应该在 appDelegate 中完成吗?我希望能够从多个类中调用这个单例(其中包含一个 NSMutableArray),以便我可以访问该数组。

这是我写的类(class):

#import "WorkoutManager.h"

static WorkoutManager *workoutManagerInstance;

@implementation WorkoutManager
@synthesize workouts;

+(WorkoutManager*)sharedInstance {
if(!workoutManagerInstance) {
workoutManagerInstance = [[WorkoutManager alloc] init];
}
return workoutManagerInstance;
}

-(id)init {
self = [super init];
if (self) {
workouts = [[NSMutableArray alloc] init];
}
return self;
}

@end

最佳答案

几乎在所有情况下,单例的意义在于您不关心谁首先实例化它。第一个调用 [Something sharedSomething] 的人就是创建者。您想要使用“How do I implement an Objective-C singleton that is compatible with ARC?”中给出的模式,它将确保单例只创建一次。

关于iphone - 实例化单例类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10098426/

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