プロトタイプモードの UITableView があります。セルに 4 つのラベルと 2 つのテキスト フィールドを配置しました。セルの 1 つは基本的なテキスト エントリで、正常に動作します。
TableViewCell をサブクラス化しました。
ヘッダー ファイル
#import <UIKit/UIKit.h>
@interface witLeagueSeriesGameDetailCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UILabel *witGameNumber;
@property (strong, nonatomic) IBOutlet UITextField *witGameScore;
@property (strong, nonatomic) IBOutlet UITextField *witGameResult;
- (void) SetGameResult:(NSString *)resultName;
@end
実装ファイル
#import "witLeagueSeriesGameDetailCell.h"
#import "witAppDelegate.h"
@implementation witLeagueSeriesGameDetailCell
@synthesize witGameNumber=_witGameNumber;
@synthesize witGameScore = _witGameScore;
@synthesize witGameResult = _witGameResult;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
- (void) SetGameResult:(NSString *)resultName{
NSLog([NSString stringWithFormat:@"%@",resultName]);
//self.witGameResult.text = resultName;
[_witGameResult setText:resultName];
}
@end
テーブルビューもサブクラス化されています。適切なテキスト フィールドが入力されたときにポップアップするピッカーが含まれています。行が選択されると、値が SetGameResult 関数に戻されます。これは、NSLog を使用して確認できます。
ただし、セルのテキストは画面上で更新されません。
コードからわかるように、テキストを設定するためにドット概念メソッドとメッセージ メソッドの両方を試しました。
TVCピッカーコードは
- (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
witLeagueSeriesGameDetailCell *myLabel = [[witLeagueSeriesGameDetailCell alloc] init];
[myLabel SetGameResult:[NSString stringWithFormat:@"%@",[self.statusList objectAtIndex:row]]];
}
画面に表示されない理由についてのアイデア