ラベルのテキストを別のクラスのセルのテキストに設定したい。
私のMasterViewControllerには次のものがあります:
// SAVE TEXT OF SELECTED CELL
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cellString = cell.textLabel.text;
}
//SHARES VARIABLES BETWEEN CLASSES
- (ChemProjectMasterViewController*) sharedVariable
{
static ChemProjectMasterViewController *myVariable = nil;
if (myVariable == nil)
{
myVariable = [[[self class] alloc] init];
myVariable.sharedCellString = cellString;
}
return myVariable;
}
これも.hにあります
@interface ChemProjectMasterViewController : UITableViewController
@property (nonatomic)NSString *cellString;
@property (nonatomic)NSString *sharedCellString;
+(ChemProjectMasterViewController*) sharedVariable;
@end
このメソッドにアクセスしたいクラスは DetailViewController です。その中で私は持っています:
detailDescriptionLabel.text = [ChemProjectMasterViewController sharedVariable].sharedCellString;
ここで、detailDescriptionLabel は単なるテキスト ラベルです。
** プログラムは正常にコンパイルされますが、ボタンをクリックするとラベル テキストが変更されるように設定されています。ボタンを押してクラッシュするまで、アプリはスムーズに実行されます。主な目標は、DetailViewController のラベル テキストを MasterViewController のセルのテキストに設定することです。助けてくれてありがとう!