2011-07-06 9 views
1

Iphone sdkでこれが可能かどうかわかりません。動作させることができませんでした。 私はClientと呼ばれるオブジェクトを持っていて、以下のプロパティを持っています。Iphone sdkのオブジェクト属性を配列(sqlite3)で設定する

firstName, lastName, mobile, email. 

私はその後、私はその後、クライアントの正確な属性名を持って、次の値を持つ配列を、以下の設定

Client *clientObj = [[Client alloc] init:]; 

を行うことによって、それを設定。

NSArray *myArray = [[NSArray alloc]initWithObjects:@"firstName", @"lastName", @"email", @"mobile", nil] 

は今、それは誰もが似た何かをすることができました

clientObj.firstName = @"Robert"; 

を行うのと同じ効果を得るために、この

clientObj.[myArray objectAtIndex:0] = @"Robert"; 

ような何かをすることは可能でしょうか?私はこれをやっている理由は、SQLステートメントがフィールドのnull値を返すかどうかをチェックするIFステートメントがあるので、それを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)]; 
    } 

答えて

1

代わりのKVC [clientObj setValue:@"Robert" forKey:[myArray objectAtIndex:i]];

+0

感謝を使用し、ドット構文を使用して、これは働いていました – Robert

関連する問題