on "cell"オブジェクト(UITableViewCellに基づく)を正常に作成し、cellForRowAtIndexPathを介してテーブルを構築する際に正常に使用しました。
ただし、 didSelectRowAtIndexPath内で行ったことをどのように分解しますか?
現在、 「タイプ'UITableViewCell'の式で'MyCell*__strong'を初期化する互換性のないポインタータイプ」というエラーが表示されます。
私のオブジェクト(MyCell)がUITableViewCellに基づいているとすると、なぜこのエラーが発生するのかわかりません。
私が間違っていることを理解するのを手伝ってくれませんか。
私の代替案は、セル内の2つのラベルのそれぞれに「タグ」を使用して、それらをそのように取得することですが、これがどのように機能するかについてさらに学ぶために、ここで実験しています。
どんな助けでも大歓迎です。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"myCellID";
MyCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[MyCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}
cell.accountCode.text = @"0009810";
cell.accountName.text = @"Agent Name";
return cell;
}
これが他の方法です。MyCellでエラーが発生します*cell= [tableView cellForRowAtIndexPath:indexPath];
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Get the cell that was selected
MyCell *cell = [tableView cellForRowAtIndexPath:indexPath];
AccountRecord *accountRecord = [[AccountRecord alloc] init];
accountRecord.accountCode = cell.accountCode.text;
accountRecord.accountName = cell.accountName.text;
[self performSegueWithIdentifier:@"AccountDetail" sender:accountRecord];
}
そしてここにMyCellがあります
#import <UIKit/UIKit.h>
@interface MyCell : UITableViewCell
@property (nonatomic,strong) IBOutlet UILabel *accountCode;
@property (nonatomic,strong) IBOutlet UILabel *accountName;
@end
どんな助けでもいただければ幸いです。