Guest User

Untitled

a guest
Jan 23rd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. @interface MyClass : NSObject
  2.  
  3. @property (readwrite, copy) NSArray *someArray;
  4.  
  5. @end
  6.  
  7. @implementation MyClass
  8. {
  9. NSMutableArray *someArrayBacking;
  10. }
  11.  
  12. - (id)init
  13. {
  14. self = [super init];
  15.  
  16. if (nil != self)
  17. {
  18. someArrayBacking = [[NSMutableArray alloc] init]
  19. }
  20.  
  21. return self;
  22. }
  23.  
  24. - (void)setSomeArray:(NSArray *)a
  25. {
  26. @synchronized(self)
  27. {
  28. if (a != someArrayBacking)
  29. {
  30. [someArrayBacking release];
  31. someArrayBacking = [a mutableCopy];
  32. }
  33. }
  34. }
  35.  
  36. - (NSArray *)someArray
  37. {
  38. @synchronized(self)
  39. {
  40. return [[someArrayBacking copy] autorelease];
  41. }
  42. }
Add Comment
Please, Sign In to add comment