zoukankan      html  css  js  c++  java
  • [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封装到此单例类中;

  • 相关阅读:
    帮朋友写的两篇文章
    与疯姐的对话
    实现C(i,j)=A(m,n,w)+B(m,n)
    误差处理相关
    http://blog.sina.com.cn/s/blog_4aae007d0100inxi.html
    全局变量和局部变量
    Yeelink:将复杂的传感器以极简的方式组到同一个网络内
    基站分布:GDOP
    C++学习路线图
    Matlab中三点确定质心
  • 原文地址:https://www.cnblogs.com/senn/p/3286125.html
Copyright © 2011-2022 走看看