objective-c - 设置 NSMutableArray 全局变量

标签 objective-c xcode nsmutablearray extern

我想要一个 NSMutableArray 全局变量。我有以下设置:

code.h
extern NSMutableArray *global
@interface
@end

code.m
NSMutableArray *global=nil;
@implementation
...
global=variable_mutablearray; //copy variable_mutablearray to global
@end

我很确定我正在做的将现有 nsmutablearray 设置为全局变量的操作是不正确的。我应该做什么?

最佳答案

全局变量并不是 Objective C 中最好的选择:使用单例要好得多。

你可以这样做:

标题:

@interface Globals : NSObject
+(NSMutableArray*)array;
@end

实现:

@implementation Globals
+(NSMutableArray*)array {
    static NSMutableArray *statArray;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        statArray = [NSMutableArray array];
    });
    return statArray;
}
@end

用法:

NSMutableArray *ga = [Globals array];

关于objective-c - 设置 NSMutableArray 全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714897/

相关文章:

iphone - NsMutableArray 无故更改为 UITableViewCellContentView

ios - 如何比较两个 NSMutableArray?

ios - 无效上下文 0x0 CGContextDrawImage

ios - 有没有办法在用户已经在 iOS 上拒绝相机访问权限后向他们询问?

ios - Xcode、Git、Jenkins、PhoneGap 1.5.0 构建错误

ios - Boost::Geometry (1.53) 与 iOS

iphone - NSMutableArray - 删除重复项

ios - 存储本地玩家高分的最佳方式是什么

ios - Core Data 使用派生类上的谓词获取基类的数据

ios - Appstore - 如何使用新的 Xcode 项目更新应用程序