objective-c 单例

1

+ (AFTwitterAPIClient *)sharedClient {

    static AFTwitterAPIClient *_sharedClient = nil;

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

        _sharedClient = [[AFTwitterAPIClientalloc] initWithBaseURL:[NSURLURLWithString:kAFTwitterAPIBaseURLString]];

    });

    

    return _sharedClient;

}

 

2

static PPSystemHelper *_sharedInstance = nil;

+ (PPSystemHelper *)sharedInstance

{

    @synchronized(self) {

        if (_sharedInstance == nil) {

            _sharedInstance = [[self alloc] init];

        }

    }

    return_sharedInstance;

}

 

- (id)init

{

    if (self = [super init]) 

{

        NSUserDefaults *defaults = [NSUserDefaultsstandardUserDefaults];  

        NSData *udObject = [defaults objectForKey:kUserDefault_TaskArray]; 

        

        self.taskArray = [NSKeyedUnarchiver unarchiveObjectWithData:udObject] ;  

        

        if (_taskArray == nil) {

             _taskArray = [[NSMutableArray alloc] init];

        }

       

    }

 

returnself;

}

+ (id)allocWithZone:(NSZone *)zone

{

    @synchronized(self) {

        if (_sharedInstance == nil) {

            _sharedInstance = [super allocWithZone:zone];

            return_sharedInstance;

        }

    }

    returnnil;

}

 

- (id)copyWithZone:(NSZone *)zone

{

    returnself;

}

posted @ 2012-08-15 10:13  翛尧  阅读(214)  评论(0编辑  收藏  举报