#import <Foundation/Foundation.h> @interface UserContext : NSObject <NSCopying> @property (nonatomic,copy) NSString *name;
@property (nonatomic,copy) NSString *emial; +(id) shareUsercontext; @end
#import "UserContext.h" static UserContext *segtonInstance=nil; @implementation UserContext +(id) shareUsercontext{ @synchronized(self){ if(segtonInstance==nil){
segtonInstance=[[[self class] alloc] init];
} }
return segtonInstance;
} +(id) allocWithZone:(struct _NSZone *)zone{
if (segtonInstance==nil) {
segtonInstance=[super allocWithZone:zone];
}
return segtonInstance;
} - (id)copyWithZone:(NSZone *)zone{ return segtonInstance; } @end
/**单例模式***/
UserContext *usercontext=[UserContext shareUsercontext];
UserContext *usercontext2=[UserContext shareUsercontext];
UserContext *usercontext3=[[UserContext alloc] init];
UserContext *usercontext4=[usercontext copy];
NSLog(@"%p",usercontext);
NSLog(@"%p",usercontext2);
NSLog(@"%p",usercontext3);
NSLog(@"%p",usercontext4);