创建 类: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;
}