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;//修改了单例类中的字符串