[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封装到此单例类中;