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