[iOS]封装单例类

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

 
 
分类: iOS
标签: 单例类
原文地址:https://www.cnblogs.com/Leo_wl/p/3286218.html