[iOS]封装单例类
今天在学习iOS的SQLite开发,发现在需要使用SQLite的每个视图中,都需要对数据库进行打开或关闭,觉得挺麻烦的;于是在想能否写个单例类对这些操作进行封(因以前一直在使用Delphi、AS3都有使用过此方法)。经网上搜索,原来是非常简单;
只要以下几步即可完成:
1、点击“xCode”菜单上的File->New-File...
2、选择Cocoa Touch“Objective-C class”,然后点击"Next"。
3、输入Class,如“DataProvider”,在Subclass of中选择继承的类“NSObject”,然后按“Next",然后按“Create”。
4、此时会见到“DataProvider.h”和“DataProvider.m”文件。
5、在接口文件“DataProvider.h”中输入以下内容:
1 #import <Foundation/Foundation.h>
2
3 @interface DataProvider : NSObject
4
5 +(DataProvider *) getInstance;
6
7 -(id) init;
8
9 @end
6、在实现文件“DataProvider.m”中输入以下内容:
#import "DataProvider.h" @implementation DataProvider + (DataProvider *) getInstance {
static DataProvider *_instance = nil; @synchronized(self){
if (!_instance){
_instance = [[DataProvider alloc] init];
return _instance;
}
} return _instance;
} - (id) init{
if (self = [super init]){
//在此处进行初始化设置
} return self;
}
7、调用,在需要调用的视图中
//先导入接口文件
#import "DataProvider.h" //在需要的地方进行以下调用
[DataProvider getInstance];
8、完成;
下一篇将会写如何将SQLite封装到此单例类中;