objective-c – 如何在Objective c中的类中创建静态NSMutableArray?

前端之家收集整理的这篇文章主要介绍了objective-c – 如何在Objective c中的类中创建静态NSMutableArray?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有A类,它是B类和C类的超类.我需要将A类对象存储在A类中定义的’static’NSMutablearray中.是否可以使用B类中的方法修改存储在MSMutableArray中的数据C级?如何创建和初始化静态数组?一个例子是更多的帮助.提前致谢.

解决方法

这是一种方法.
  1. @interface ClassA : NSObject
  2. {
  3. }
  4.  
  5. -(NSMutableArray*) myStaticArray;
  6.  
  7. @end
  8.  
  9. @implementation ClassA
  10.  
  11. -(NSMutableArray*) myStaticArray
  12. {
  13. static NSMutableArray* theArray = nil;
  14. if (theArray == nil)
  15. {
  16. theArray = [[NSMutableArray alloc] init];
  17. }
  18. return theArray;
  19. }
  20.  
  21. @end

这是我用了很多而不是真正的单身人士的模式. ClassA及其子类的对象可以像这样使用它:

  1. [[self myStaticArray] addObject: foo];

你可以考虑一些变化,例如你可以使方法成为一个类方法.您可能还希望在多线程环境中使方法线程安全.例如

  1. -(NSMutableArray*) myStaticArray
  2. {
  3. static NSMutableArray* theArray = nil;
  4. @synchronized([ClassA class])
  5. {
  6. if (theArray == nil)
  7. {
  8. theArray = [[NSMutableArray alloc] init];
  9. }
  10. }
  11. return theArray;
  12. }

猜你在找的C&C++相关文章