zoukankan      html  css  js  c++  java
  • [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
    标签: 单例类
  • 相关阅读:
    DataGridView编辑后立即更新到数据库的两种方法
    Azure 意外重启, 丢失sql server master表和 filezilla
    欧洲美食精选-德国篇
    Azure 负载均衡和可用性集
    windows Azure 域名绑定
    Azure billing 分析(2)
    Azure billing 分析
    试用windows Azure
    Excel公式无法重算,暂无法解决
    iphone 语音备忘录 同步问题
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3286218.html
Copyright © 2011-2022 走看看