創(chuàng)建 類:Singleton
單例:
1.單一的實(shí)例 -> 整個工程的唯一對象
2.一個類 只對應(yīng) 一個對象存崖,也就是說 通過單例方法創(chuàng)建的對象 地址都一樣
3.除了創(chuàng)建方法不一樣,其他東西和普通的類是一樣 --> 屬性 方法
4.當(dāng)你想在多個不同的文件中使用同一個對象的某些方法和屬性時档玻,使用單例
Singleton.h
#import <Foundation/Foundation.h>
@interface Singleton : NSObject
+ (Singleton *)shareInstace;
@end
Singleton.m
#import "Singleton.h"
@implementation Singleton
//靜態(tài)聲明對象 -> 該對象只能創(chuàng)建一次
static Singleton *instance = nil;
//類方法創(chuàng)建對象
+ (Singleton *)shareInstac
{
//判斷對象是否已經(jīng)創(chuàng)建
if(instance == nil)
{
//1.如果對象沒有創(chuàng)建 --> 創(chuàng)建
instance = [[Singleton alloc]init];
}
//2.將對象返回到調(diào)用方法的地方
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;
}