Objective-C语言单身人士班
示例
什么是单例课程?
无论应用程序请求多少次,单例类都将返回相同的实例。与常规类不同,单例对象提供了对其类资源的全局访问点。
何时使用单例课程?
单例用于需要单个控制点的情况,例如提供一些常规服务或资源的类。
如何创建单例类
首先,创建一个新文件,并从中子类化NSObject。命名任何东西,我们将CommonClass在这里使用。Xcode现在将为您生成CommonClass.h和CommonClass.m文件。
在您的CommonClass.h文件中:
#import <Foundation/Foundation.h>
@interface CommonClass : NSObject {
}
+ (CommonClass *)sharedObject;
@property NSString *commonString;
@end在您的CommonClass.m文件中:
#import "CommonClass.h"
@implementation CommonClass
+ (CommonClass *)sharedObject {
static CommonClass *sharedClass = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedClass = [[self alloc] init];
});
return sharedClass;
}
- (id)init {
if (self = [super init]) {
self.commonString= @"this is string";
}
return self;
}
@end如何使用单例课程
只要您已CommonClass.h在相关模块中导入文件,就可以从项目中的任何位置访问我们先前创建的Singleton类。要修改和访问Singleton类中的共享数据,您将必须访问该类的共享对象,可以使用sharedObject以下方法访问该对象:
[CommonClass sharedObject]
要读取或修改共享类中的元素,请执行以下操作:
NSString *commonString = [[CommonClass sharedObject].commonString; //阅读单例课程中的字符串 NSString *newString = @"New String"; [CommonClass sharedObject].commonString = newString;//修改了单例类中的字符串