3

NSDictionaryに表示されているセルにオブジェクトをアタッチする方法があるかどうかを知りたいUITableViewので、セルを選択すると、そのテーブルビューセルにNSDictionaryアタッチされた にアクセスできます。

4

3 に答える 3

3

もちろん、セルのサブクラスを作成して辞書を追加するだけです。完全に空の実装も使用できます。

// MyCell.h
@interface MyCell : UITableViewCell

@property (nonatomic, strong) NSDictionary* dictionary;

@end

// MyCell.m
@implementation MyCell
@end

ここで、ストーリーボードを使用している場合はセル クラスを設定するか、ストーリーボードを使用していない場合は登録し、デキュー時に辞書を設定し、後でセルを取得したときにそれを読み取るようにしてください。

于 2013-08-29T03:19:02.230 に答える
2

a をサブクラス化し、カスタム セルにプロパティUITableViewCellを作成すると、これを実現できます。NSDictionary

このプロパティをどこかで設定したと仮定すると、セルが選択されたときに取得する方法は次のとおりです。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    MyCustomCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    NSLog(@"%@",cell.dictionary); //replace "dictionary" by the name of the property you created in the subclass
}
于 2013-08-29T03:17:52.950 に答える
1

ビュー (MyCell) からデータ モデル (NSDictionary) を切り離すように努める必要があります。それがView Controllerの目的です-各セルとデータ間の関係を管理します。

通常、データ モデルは NSArray になります。配列内の各要素は、テーブル内の行 (indexPath) に対応します。各 NSArray 要素は、各セルの NSDictionary オブジェクト (データ モデル) を保持します。

于 2013-08-29T05:26:15.407 に答える