在objective-c中创建常量2d数组

时间:2014-08-06 04:16:15

标签: ios objective-c multidimensional-array nsstring constants

有谁知道如何在iOS / Objective-c中创建一个常量2d数组?在java中它将是

public static final String MY_2D_ARRAY = {{"dog","cat","sheep"},{"bread","end","van"}};

以下内容对我不起作用

extern NSString * const MY_2D_ARRAY[][]; //etc

4 个答案:

答案 0 :(得分:0)

在Objective-C中创建数组,您需要使用NSArray(Immutable)。或者NSMutableArray(mutable)

NSArray *arr = @[@[@"a", @"b"], @[@"c", @"d"]];

答案 1 :(得分:0)

这里&#39>

NSArray *arr = @[
                 @[@"dog", @"cat", @"sheep"], 
                 @[@"bread", @"end", @"van"],
                  ...
                ];

答案 2 :(得分:0)

您无法创建常量NSArray,因为作为任何Objective-C对象(除了NSString),它是在运行时创建的,您不能使用表达式来初始化它。您应该考虑使用其他方法,也许使用单例。

答案 3 :(得分:-1)

因为在ios中你不能像你所示那样创建常量数组,但你可以将它用作替代

//  constants.h

+ (NSArray*) MY_2D_ARRAY;

//  constants.m

+ (NSArray*) MY_2D_ARRAY{ 

    static NSArray* arr = nil;

    if (arr == nil) {
        arr = @[@"a",@"b"]];
    }
    return arr;
}

// you can Use it where you required 

[constants MY_2D_ARRAY];

如果这对您有帮助,那么您可以接受它作为解决方案。