0

私が知りたいのは、顧客の名前(オブジェクトCustomerのオブジェクトインスタンス)を、それに付けられたID番号を使用してどのように表示するかです。これは私がこれまでに試したことであり、機能していません:

int number = [nunmber intValue];
Customer *customer = [list objectAtIndex:(memberNumber == number)];
NSLog(@"member:%@",customer.name);
NSLog(@"number:%i",number); 

これは、助けてくれてありがとう、テーブルの最初の人の名前を印刷するだけ
です。
私はosx用のxcode4でプログラミングしています

4

2 に答える 2

0

これを試して:

Customer *customer = [list objectAtIndex:number];

編集

次のように、のインスタンスを使用NSPredicateして、メンバー番号に基づいて配列をフィルタリングできます。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"memberNumber == %@", [NSNumber numberWithInt:memberNumber]];
NSArray *matchingMembers = [members filteredArrayUsingPredicate:predicate];

Customer *customer = [matchingMembers lastObject];
NSLog(@"%@", customer.name);
于 2012-04-13T20:04:58.467 に答える
0

リストを反復処理(高速列挙)する必要があります。

for (Customer *c in list) {
  if ([c memberNumber]==nunmber) {
    NSLog(@"member %@ with number %@ found",[c name],[c memberNumber]);
  }  
}

ただし、nunmbermemberNumberは同じタイプです。を使用したアプローチで...:(memberNumber==number)は、インデックス0の最初の要素(memberNumber!= numberの場合)または2番目の要素(memberNumber == numberの場合)のいずれかが得られます。これは、テストを効果的に実行し、結果として0または1のブール値を取得するためです。

于 2012-04-13T20:30:14.380 に答える