黑马程序员技术交流社区

标题: 在oc语言中实现单例对象 [打印本页]

作者: libra    时间: 2014-7-4 17:46
标题: 在oc语言中实现单例对象
  1. #import<Foundation/Foundation.h>


  2. @interface person : NSObject
  3. {       
  4. }
  5. +(person *)instance
  6. @end
  7.    
  8.      
  9. @implementation person
  10.          
  11. + (person *)instance  {
  12.               static person *instance;
  13.            
  14.               @synchronized(self) {
  15.                       if(!instance) {
  16.                             instance = [[person alloc] init];
  17.                            
  18.                            
  19.                   }
  20.             }
  21.                
  22.               return instance;
  23.        }
  24.          
  25.        @end
复制代码



自己写的,只能产生一个类对象,没有mac不知道调试能不能通过。
作者: fantacyleo    时间: 2014-7-4 18:02
我印象中,static变量只能在@implementation之外声明。还有,如果使用者直接[[Person alloc] init怎么办?]
作者: 邱蚓    时间: 2014-7-4 18:44
你没有设备啊?那你怎么做入学测试题啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2