objective-c – 如何在Objective c中的类中创建静态NSMutableArr
发布时间:2020-12-16 04:53:48 所属栏目:百科 来源:网络整理
导读:我有A类,它是B类和C类的超类.我需要将A类对象存储在A类中定义的’static’NSMutablearray中.是否可以使用B类中的方法修改存储在MSMutableArray中的数据C级?如何创建和初始化静态数组?一个例子是更多的帮助.提前致谢. 解决方法 这是一种方法. @interface Cl
我有A类,它是B类和C类的超类.我需要将A类对象存储在A类中定义的’static’NSMutablearray中.是否可以使用B类中的方法修改存储在MSMutableArray中的数据C级?如何创建和初始化静态数组?一个例子是更多的帮助.提前致谢.
解决方法
这是一种方法.
@interface ClassA : NSObject { } -(NSMutableArray*) myStaticArray; @end @implementation ClassA -(NSMutableArray*) myStaticArray { static NSMutableArray* theArray = nil; if (theArray == nil) { theArray = [[NSMutableArray alloc] init]; } return theArray; } @end 这是我用了很多而不是真正的单身人士的模式. ClassA及其子类的对象可以像这样使用它: [[self myStaticArray] addObject: foo]; 你可以考虑一些变化,例如你可以使方法成为一个类方法.您可能还希望在多线程环境中使方法线程安全.例如 -(NSMutableArray*) myStaticArray { static NSMutableArray* theArray = nil; @synchronized([ClassA class]) { if (theArray == nil) { theArray = [[NSMutableArray alloc] init]; } } return theArray; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby – 将BigDecimal转换为String时,如何增加小数位数?
- ruby-on-rails – 重新定义:全部
- postgresql – Postgres:如何获取枚举集中的下一项?
- 正则表达式 – PowerShell中的正则表达式匹配
- actionscript-3 – As3 – SWF和AIR桌面应用之间的LocalCon
- 使用faster rcnn训练imageNet上的部分数据集
- flash as3 socket安全服务网关(socket policy file server
- C# 实现截图软件功能实例代码
- jdbc:oracle:thin:@192.168.3.98:1521:orcl(详解)
- c# – 背后的原因是什么不允许派生类的具体属性实现接口的接