【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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值