【发布时间】:2012-04-11 00:44:01
【问题描述】:
我创建了一个单例类来跟踪我在 iPhone 应用上的数据。我知道单例只需要实例化一次,但是实例化它的最佳位置是什么?这应该在 appDelegate 中完成吗?我希望能够从多个类中调用这个单例(其中包含一个 NSMutableArray),以便我可以访问该数组。
这是我写的课程:
#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
【问题讨论】:
-
链接似乎是关于实现单例。我已经有我的书面和功能。我在我的一个类中的一个 IBAction 中实例化它,但是我很困惑我是否应该在其他地方实例化它以便它是全局的?
-
这些答案的重点是您不必在代码中的任何地方实例化它。第一次去使用它会自动实例化。
-
即使它在 IBAction 之类的东西中使用?还是应该在类头中实例化?
标签: iphone objective-c cocoa-touch