static单利模式
2016-12-16 16:41 supper_Ho 阅读(275) 评论(0) 编辑 收藏 举报//
// main.m
// 01-文件管理器
//
// Created by apple on 14-3-21.
// Copyright (c) 2014年 apple. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "User.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
//1.文件管理器
NSFileManager * f1 = [NSFileManager defaultManager];
NSLog(@"%p",f1);
NSFileManager * f2 = [NSFileManager defaultManager];
NSLog(@"%p",f2);
NSFileManager * f3 = [[NSFileManager alloc] init];
NSLog(@"f3 %p",f3);
NSFileManager * f4 = [NSFileManager defaultManager];
NSLog(@"%p",f4);
//在整个程序没有退出之前,只需要创建一次,我们就可以把它写成单利模式
//简单的单例模式
User * u1 = [User defaultUser];
u1.age = 10;
NSLog(@"u1 %p",u1);
User * u2 = [User defaultUser];
NSLog(@"u2 %p age = %d",u2,u2.age);
User * u3 = [[User alloc] init];
NSLog(@"u3 %p",u3);
//1.组合模式,(聚合模式)
//2.单利模式
//3.策略模式(封装变化点),block
//4.向上抽象 (protocol(协议))
//5.享元设计模式(NSString池原理)
}
return 0;
}
//
// User.m
// 03-文件操作
//
// Created by apple on 14-3-21.
// Copyright (c) 2014年 apple. All rights reserved.
//
#import "User.h"
@implementation User
//静态变量,整个程序运行完成的时候才会被释放掉,mian函数运行完成
static User * instance = nil;
+ (User *)defaultUser
{
// return [[self alloc] init];
if (instance == nil)
{
instance = [[self alloc] init];
}
return instance;
}
@end