1

カスタム UITableViewCell のこのコードを見つけました:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) 
{
    NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"MyCustomCell" owner:nil options:nil];

    MyCustomCell *customCell = [[MyCustomCell alloc]init];

    MyCustomCell.cellImage = [arrayImages objectAtIndex:indexPath.row];

    for (UIView *view in views) 
    {
        if([view isKindOfClass:[UITableViewCell class]])
        {                
            cell = (MyCustomCell *)view;

        }
    }
}

この特定の部分がどのように機能するかわかりませんでした:cell = (MyCustomCell *)view;

以前に作成した MyCustomCell (customCell) のインスタンスを変更したかったのですが、どうすれば変更できますか?

4

2 に答える 2

1

UITableViewCellInterface Builder を使用してカスタムを作成することがあります。この人は、カスタムUITableViewCellサブクラスをロードしてセルに割り当てているだけです。line: cell = (MyCustomCell *)view;presumableMyCustomCellは のサブクラスであるため機能しUITableViewCellます。

これは、カスタム セルを作成するためのもう 1 つの手法であり、タグで同様のことが行われることがあります。

于 2012-04-13T20:16:05.540 に答える
0

まず、UIViewsのコレクションまたはUIViewサブクラスを反復処理します。これは、各反復の変数をと呼ばれるポインターに格納しますview

次に、現在のview変数をタイプにキャストするだけですMyCustomCell。おそらくMyCustomCell拡張UIViewするので、これは合法です。

これは、に固有のメソッドを使用する場合に役立ちます。オブジェクトを明示的に型キャストMyCustomCellしない場合、Xcodeはそれらが存在することを認識しないためです。

于 2012-04-13T20:09:16.370 に答える