2

現在、このメソッドを使用して UITableView を埋めています:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"CharNameCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    MyObject *obj = (MyObject*)[self.characters objectAtIndex:indexPath.row];
    cell.textLabel.text = obj.name;

    return cell;
}

しかし、2 つの異なるタイプの 2 つの異なる配列があり、それぞれのプロパティをセルに表示したい場合はどうすればよいでしょうか?

擬似コード:

MyObject1 MyObject2

cellTextLabel.text = Myobject1.name; cellTextLabel.text = MyObject2.name;

各オブジェクトに name プロパティがあると仮定します。上記の構文が正しくないことはわかっていますが、ドリフトを取得する必要があると思います。

4

1 に答える 1

0

その場合、すべてのオブジェクトを NSMutableArray に格納することをお勧めします。これがデータモデルになります。次に、配列を反復処理して、データを UITableView に表示できます。必要に応じて、イントロスペクションを使用して、オブジェクトがどのようなクラスであるかを調べます。

id currentObject = [myArray objectAtIndex:indexPath.row];

if ([currentObject isKindOfClass:[MyObject1 class]]){
    //set properties or do stuff with MyObject1
}else if ([currentObject isKindOfClass:[MyObject2 class]]){
    //do stuff with Object2
}

これは 1 つの提案にすぎません。これを行うには多くの方法がありますが、アプリや使用している永続性の種類などによって異なります。これがお役に立てば幸いです。

于 2012-07-08T20:03:54.110 に答える