Не уверен, что это возможно в Iphone SDK, так как я не смог заставить его работать.У меня есть объект с именем Client, и он имеет следующие свойства.
firstName, lastName, mobile, email.
Затем я настраиваю его, выполнив следующие действия:
Client *clientObj = [[Client alloc] init:];
. Затем я создаю массив со следующими параметрами.значения, которые имеют точные имена атрибутов для клиента.
NSArray *myArray = [[NSArray alloc]initWithObjects:@"firstName", @"lastName", @"email", @"mobile", nil]
сейчас, возможно ли сделать что-то подобное
clientObj.[myArray objectAtIndex:0] = @"Robert";
, чтобы получить тот же эффект, что и
clientObj.firstName = @"Robert";
Кто-нибудь смог сделать что-то подобное?Причина, по которой я делаю это таким образом, заключается в том, что у меня есть оператор IF, который проверяет, возвращает ли оператор sql нулевое значение для поля, поэтому он не будет присваивать его clientObj, и я думал, что смогу перебирать атрибуты только так.клиента должен установить и массив, который имеет эти атрибуты.
Это был раздел моего кода, над которым я работал.
Client *clientObj = [[Client alloc] init];
int i;
NSArray *myArray = [[NSArray alloc]initWithObjects:@"firstName", @"lastName", @"email", @"mobile", nil];
for(i=0;i < [myArray count];i++){
char *tempChar = sqlite3_column_text(selectstmt, i);
if (tempChar == nil) {
//is null dont assign
} else {
clientObj.[myArray objectAtIndex:i] = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, i)];
}