Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 访问数组中对象的属性_Objective C_Nsarray - Fatal编程技术网

Objective c 访问数组中对象的属性

Objective c 访问数组中对象的属性,objective-c,nsarray,Objective C,Nsarray,我对编程相当陌生,对该做什么有点着迷。现在,NSArray中的每个对象都有自己的属性,其中包含我需要的数据。我习惯于通过迭代数组来访问它的对象,但从来没有必要通过迭代数组来访问它的一些对象的属性。所以我完全迷路了 通常,当我需要遍历数组时,这是一个简单的过程,类似于: For (int i =0; i <= self.array.count; i++) { NSLog(@"%d", i): } 当你说: for (int i = 0; i <= self.array.count;

我对编程相当陌生,对该做什么有点着迷。现在,NSArray中的每个对象都有自己的属性,其中包含我需要的数据。我习惯于通过迭代数组来访问它的对象,但从来没有必要通过迭代数组来访问它的一些对象的属性。所以我完全迷路了

通常,当我需要遍历数组时,这是一个简单的过程,类似于:

For (int i =0; i <= self.array.count; i++) {
NSLog(@"%d", i):
}
当你说:

for (int i = 0; i <= self.array.count; i++) {
    // ... inside the loop ...
}
for(int i=0;i使用而不是按索引迭代,然后像往常一样访问属性

for( id obj in myArray ){    // Use a more specific type than id if possible
    NSLog(@"%@", [obj prop]);
}
另一个选项是使用。在这里,您将编写一个块,其中一个参数是数组中的一个对象。(对象按顺序呈现给块。)


在本例中,如果出于某种原因需要索引,您也可以访问它。如果您需要索引。

如果您不进行迭代,您将如何访问对象的属性?正如Josh正确指出的那样,Objective-C有一种更紧凑的方式来迭代NSArray,但我使用了您的符号,以便从您有st的地方开始arted.cast注释是一个重要的要点,因为您不能在
id
上使用点符号,这是
objectAtIndex:
[myArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL * stop){
    NSLog(@"%@", [obj prop]);
}];