Cocoa类别中的静态变量

Kev*_*tre 2 cocoa objective-c

我有一个可可'类别'用于向NSString添加变形(复数,单数化等).该代码需要将一组正则表达式规则和异常从PLIST加载到字典和数组中,以及从代码中添加手动异常.我需要一种方法来保持这些数据结构(作为类成员)在多次调用变形代码(所有实例方法)之间.我试过:

+ (NSMutableArray *)uncountables 
{
    static NSMutableArray *uncountables = nil;
    if (uncountables == nil) uncountables = [NSMutableArray array];
    return uncountables;
}
Run Code Online (Sandbox Code Playgroud)

但是,它似乎偶尔会失败.这样做有好办法吗?如果可能的话,我不想继承NSString.谢谢.

dra*_*ard 5

[NSMutableArray array];
Run Code Online (Sandbox Code Playgroud)

返回一个自动释放的数组.请改用:

[[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)