Objective-C中是否可以使用Object数组?

Ka-*_*cks 4 arrays objective-c

我对Objective-C很新.创建对象数组时遇到问题.在java中,可以创建对象数组,并可以直接访问各个实例.

例如,

SomeClass[] instance = new SomeClass[10];
instance[i].var=10;
Run Code Online (Sandbox Code Playgroud)

在Objective-C中有没有办法做到这一点?我可以使用索引直接访问对象数组中的实例变量吗?一个例子是更多的帮助.提前致谢

Nic*_*rge 7

使用Foundation Framework(如果您使用的是Objective-C,几乎肯定会使用):

NSString *object1 = @"an object";
NSString *object2 = @"another object";
NSArray *myArray = [NSArray arrayWithObjects:object1, object2, nil];

NSString *str = [myArray objectAtIndex:1];
Run Code Online (Sandbox Code Playgroud)

这里,str将是对象2(包含another object)的引用.请注意,nil'终止'数组中的对象列表,并且是必需的.如果你想要一个可变(可修改)的数组:

NSString *object1 = @"an object";
NSString *object2 = @"another object";
NSMutableArray *myMutableArray = [NSMutableArray array];

[myMutableArray addObject:object1];
[myMutableArray addObject:object2];
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以使用它们NSArray(由其他答案记录)和标准C数组.在后一种情况下,你会这样做:

id numbers[10];
NSInteger i;
for (i = 0; i < 10; i++) {
  numbers[i] = [NSNumber numberWithInteger: i];
}
Run Code Online (Sandbox Code Playgroud)

注意,不像在Java中,没有类型id[],或NSString[],或任何东西.原始数组与C中的相同:指针和光标.