0

私はObjective-Cを初めて使用し、これをオンラインで数週間調査しました。ほぼすべての例はすべてのサイトで同じであり、Xcode 4 アプリのコードに統合する方法が完全にはわかりません。

どこでも見られる例は次のとおりです。

NSEnumerator* theEnum = [some_array objectEnumerator]; id obj; or id some_object = NULL; while(obj = [theEnum nextObject]) { //do something...

id some_object = NULL;/ id obj; が何であるかをよりよく理解できればと思います。自分でそれを理解できることを表します。

私のコードには 3 つの配列があります。すべてのオブジェクトが表示されるまで、ユーザーが [次へ] ボタンをクリックするたびに、UILabel フィールドの各配列に 1 つのオブジェクトを表示できるようにしたいと考えています。

NSArray1 = 1,2,3

NSArray2 = ジョン、ジル、ジョシュ NSArray3 = 男の子、女の子、男の子

次のボタンを押すと、1、ジョン、男の子が表示されます。次に会うときは、2 人のジルと女の子、最後に 3 人のジョシュと男の子です。

以下は基本的な例であり、実際のコードではありません。

number = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];
name = [[NSArray alloc] initWithObjects:@"John",@"Jill",@"Josh", nil];
gender = [[NSArray alloc] initWithObjects:@"boy",@"girl",@"boy", nil];

NSEnumerator *enum = [number objectEnumerator];
id obj; (??What is this?? And how to connect to the statement below??)

while ((obj = [enumNumber nextObject])) {

self.numberItem.text = ??
self.nameItem.text = ??
self.genderItem.text = ??

ありがとう

4

1 に答える 1

0

id obj見ている現在の変数を含む変数です。このコードでは、NSArrayすべてに文字列が含まれているため、代わりに使用できますNSString *obj

列挙子は、一度に 1 つのコレクションしか列挙できません。3 つすべてを一緒にループしたい場合は、従来のforループを使用します。

for(unsigned int i = 0; i < number.count; i++) {
    self.numberItem.text = [number objectAtIndex:i];
    self.nameItem.text = [name objectAtIndex:i];
    self.genderItem.text = [gender objectAtIndex:i];
}
于 2011-09-28T23:01:41.700 に答える