0

いくつかのオブジェクトを含む配列があり、NSMutableこれらのオブジェクトを異なる配列の形式で別の Mutable 配列に格納したいと考えています。

例: これらのオブジェクトを持つ sessionArrayType4 という名前の配列があります。

"New Attendee Reception",
"Attendee Reception",
"Banquett",
"Tour and BBQ" 

そして、globalSessionArray という名前の別の Mutable 配列に格納したいので、以下のような結果を期待しています。

(("New Attendee Reception"), ("Attendee Reception"), (Banquett), (Tour and BBQ))

これが私のコードです:

if(self.pickerSelectedRow == [self.typePickerArray objectAtIndex:3])
{
    for (int i =0; i< [self.sessionArrayType4 count]; i++)
    {
        if(self.displayTime == [[self.sessionArrayType4 objectAtIndex:i]valueForKey:@"start_time"])
        {
            [self.sessionRowArray addObject:[[self.sessionArrayType4 objectAtIndex:i]valueForKey:@"session_name"]];
            self.rowCount = self.rowCount + 1;
        }
        else
        {
            [self.sessionRowArray removeAllObjects];
            self.displayTime = [[self.sessionArrayType4 objectAtIndex:i] valueForKey:@"start_time"];
            [self.sessionRowArray addObject:[[self.sessionArrayType4 objectAtIndex:i]valueForKey:@"session_name"]];

            [self.globalSessionArray addObject:self.sessionRowArray];

        }
    }
}

しかし、私は次のような出力を得ています:

((Tour and BBQ), (Tour and BBQ), (Tour and BBQ), (Tour and BBQ))

4

3 に答える 3

0

1)

if(self.pickerSelectedRow == [self.typePickerArray objectAtIndex:3])

左の値は int または NSInteger のように見え、右の値は NSObject であるため、この式と同様の式は正しくないように見えます。両方とも NSObject の場合は、代わりに isEqual を使用してください。

2)

sessionArrayType4

それは正しいですが、真面目なプログラマーは変数にそのような名前を使用しません。

3) 不完全なコードと多数の NSLog 呼び出しのため、何が必要かを理解するのは困難です。コードの前の部分と特に互換性のない JSON コードも追加しました。

したがって、最初にコードを編集します

于 2013-05-07T12:58:18.630 に答える