2013-09-09 3 views
-2

Я хотел бы создать экземпляр некоторых пользовательских объектов в цикле for, получая их из массива. Я также хотел бы указать указателю имя значения массива. (Пример)Именование экземпляров класса в цикле "for" (какао)

personArray в generalArray значение: 0 = имя, 1 = адрес, 2 = мобильный ...

Объект: Человек (с instante переменных personArray)

//////// 

for (NSArray*person in generalArray){ 

NSString*name=[[NSString alloc] initWithString:[person ObjectAtIndex:0]; 
NSString*address=[[NSString alloc] initWithString:[person ObjectAtIndex:1]; 
… 

//Now I want to instantiate objects "person" with "name, address…" variables. I also tried to name pointers with the "name" NSString. 

} 

Есть ли решения?

+6

Я не могу понять ваш вопрос. Пожалуйста, дайте лучшее описание. –

ответ

1

Невозможно установить имя переменной, указатель или иначе, значение другой переменной. Поэтому в вашем случае вы хотите установить имя указателя как значение имени/адреса NSString. Это то, что невозможно сделать.

Чтобы создать экземпляр объекта «лицо» из цикла для:

for (NSArray*person in generalArray){ 

NSString*name=[[NSString alloc] initWithString:[person ObjectAtIndex:0]; 
NSString*address=[[NSString alloc] initWithString:[person ObjectAtIndex:1]; 
… 

PersonObject *person = [[PersonObject alloc] init]; 

// Assuming your person object has a name and address property 
person.name = name; 
person.address = address; 


// You should also add the newly created person object to a data collection in order for 
// it to be saved. If you don't do that then each iteration will create a new person 
// object, but it will not be saved anywhere, which means it's a pointless operation. 
} 

Это создает новый объект человек с каждой итерации для цикла. Теперь вы берете имя и адресную информацию из массива person и помещаете его во вновь созданный объект человека.

+0

ОК, и как я могу создать экземпляр объектов в цикле? – Tommaso

+0

Вы можете, конечно, с «уровнем выпускника» Objective-C, добавлять новые сеттеры и геттеры в класс, чтобы эффективно добавлять новые свойства, а также вы можете играть в игры с помощью valueForUndefinedKey и др. Я подозреваю, что это намного выше уровня зарплаты ОП. –