#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
/** single case mode ***/ 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);