Быстрое перечисление для массива, содержащего различные типы объектов
Если у меня есть NSMutableArray, куда я добавил объекты разных классов (например, NSString, NSMutableString, NSProcessInfo, NSURL, NSMutableDictionary и т. Д.) Теперь я хочу быстро перечислить этот массив, поэтому я попытался:
for (id *element in mutableArray){
NSLog (@"Class Name: %@", [element class]);
//do something else
}
Я получаю предупреждение в Xcode, говорящее
warning: invalid receiver type "id*"
Как я могу избежать этого предупреждения?
1 ответ
Решение
Код почти правильный. Когда вы используете id, это уже подразумевается как указатель, поэтому вы должны написать его так:
for (id element in mutableArray){
NSLog (@"Class Name: %@", [element class]);
//do something else
}