1

UITableViewCellサブクラスにアウトレット プロパティを用意しMyCellました (ペン先を接続するため):

@interface MyCell : UITableViewCell

@property (nonatomic, strong) IBOutlet UILabel* theLabel;

@end

次に合成しtheLabelます。次に、プロパティ名を使用してセルにアクセスします。

MyCell *theCell = (MyCell *)cell;
UILabel *lab = theCell.theLabel;

プロパティ名を使用してセルにアクセスすると、次のエラー メッセージが表示されます。

[UITableViewCell theLabel]: unrecognized selector

何かが足りないようです。なぜ例外がスローされるのですか?

4

1 に答える 1

2

あなたの問題は、 cellForRowAtIndexPath 関数内で、セルを「MyCell」タイプに正しくインスタンス化していないことですが、ポインターを静的にキャストしようとしているだけです。最後に、プレーンな UITableViewCell に存在しないプロパティにアクセスしようとしています。

これに似たセルをロードしていますか?:

static NSString *reuseIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];

if (cell == nil) {
    cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil] objectAtIndex:0];
}
于 2012-12-19T21:16:35.330 に答える