Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @interface MyClass : NSObject
- @property (readwrite, copy) NSArray *someArray;
- @end
- @implementation MyClass
- {
- NSMutableArray *someArrayBacking;
- }
- - (id)init
- {
- self = [super init];
- if (nil != self)
- {
- someArrayBacking = [[NSMutableArray alloc] init]
- }
- return self;
- }
- - (void)setSomeArray:(NSArray *)a
- {
- @synchronized(self)
- {
- if (a != someArrayBacking)
- {
- [someArrayBacking release];
- someArrayBacking = [a mutableCopy];
- }
- }
- }
- - (NSArray *)someArray
- {
- @synchronized(self)
- {
- return [[someArrayBacking copy] autorelease];
- }
- }
Add Comment
Please, Sign In to add comment