OC -- 单例(精简)

作者: J_coco | 来源:发表于2016-01-21 16:16 被阅读0次

创建 类:Singleton

单例:
1.单一的实例 -> 整个工程的唯一对象
2.一个类 只对应 一个对象,也就是说 通过单例方法创建的对象 地址都一样
3.除了创建方法不一样,其他东西和普通的类是一样 --> 属性 方法
4.当你想在多个不同的文件中使用同一个对象的某些方法和属性时,使用单例

Singleton.h

#import <Foundation/Foundation.h>
@interface Singleton : NSObject
+ (Singleton *)shareInstace;

@end

Singleton.m

#import "Singleton.h"
@implementation Singleton

//静态声明对象 -> 该对象只能创建一次
static Singleton *instance = nil;

//类方法创建对象
+ (Singleton *)shareInstac
{
  //判断对象是否已经创建
  if(instance == nil)
  {
    //1.如果对象没有创建 --> 创建
    instance = [[Singleton alloc]init];
  }
    //2.将对象返回到调用方法的地方
    return instance;
}

@end

main.m

#import <Foundation/Foundation.h>
#import "Singleton.h"

int main(int argc, const char *argv[])
{
  @autoreleasepool
  {
    Singleton *instance = [Singleton shareInstace];
    NSLog(@"%@",instance);
    NSLog(@"%@",[Singleton shareInstace]);
    NSLog(@"%@",[Singleton shareInstace]);
    //打印地址相同
  }
  return 0;
}

相关文章

网友评论

    本文标题:OC -- 单例(精简)

    本文链接:https://www.haomeiwen.com/subject/rvblkttx.html