【Object-C】单例模式Singleton

程序多次创建类的对象没有多大意义,还有可能造成系统性能下降。
如果一个类始终只能创建一个实例,这个类称为单例类.
单例类可以通过static全局变量来实现.
#import <Foundation/Foundation.h>
@interface DCSingle : NSObject
+(id) instance ;
@end

#import "DCSingle.h"
static id instance = nil ;
@implementation DCSingle
+(id) instance
{
   
 if (!instance) {
// 创建一个Singleton实例,并将该实例赋给instance全局变量
       
 instance = [[super alloc]init];
    }
   
 return instance ;
}
@end

#import <Foundation/Foundation.h>
#import "DCSingle.h"
int main(int argc, const char * argv[]) {
   
 @autoreleasepool {
       
 // insert code here...
       
 NSLog(@"Hello, World!");
       
       
 // 判断两次获取的实例是否相等,程序将会返回1(代表真)
       
 NSLog(@"%d" ,[DCSingle instance] == [DCSingle instance]);
    }
   
 return 0;
}

==>
2014-11-29 11:54:02.124 Singleton[626:303] Hello, World!
2014-11-29 11:54:02.127 Singleton[626:303] 1
Program ended with exit code: 0
原文地址:https://www.cnblogs.com/shujucn/p/7481467.html