我想將標籤的文本設置爲來自不同類的單元格的文本。如何在類之間共享方法
在我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中單元格的文本。感謝您的任何幫助!
冒着太明顯的風險,'detailDescriptionLabel.text'需要一個字符串。您正在傳入視圖控制器。爲什麼? –
@StevenFisher - 他實際上是在傳遞一個字符串。他從類「ChemProjectMasterViewController」中訪問名爲'sharedVariable'的變量sharedCellString。 – pasawaya
@ jtetreault13你在頭文件中聲明爲'+(ChemProjectMasterViewController *)sharedVariable;'和.m文件,你將它定義爲' - (ChemProjectMasterViewController *)sharedVariable',我不確定,但是這會產生問題。 – viral