私はiosプログラミングが初めてで、ここで質問していますが、いつも訪れています! この問題が発生する理由に困惑しています。エラーなしでコンパイルされ、MainStoryboard のすべてのアウトレットと識別子を確認しました。
私は 2 つの UITableViewControllers を持っています。ユーザーがテーブル内の項目を選択したときに、最初から 2 番目に文字列を渡しているので、FirstTableViewController.m で
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
int sel = indexPath.row;
if (sel == 0) {
_keyName = [NSString stringWithString:_string1];
NSLog(@"the table was selected at cell 0, %@", _string1);
}
if (sel == 1) {
_keyName = [NSString stringWithString:_string2];
}
// more code below...
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"ResultsSegue"])
{
UINavigationController *navigationController = segue.destinationViewController;
ResultsViewController *rv = [[navigationController viewControllers] objectAtIndex:0];
[rv setResults: _keyName];
NSLog(@"in the progress view, %@", _keyName);
//rv.delegate = (id)self;
rv.delegate = self;
}
}
そして私のResultsViewController.mで
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"in the results, %@", _results);
NSLog(@"in the results view");
}
NSlog の読み出しで、次のように表示されます: ... 進行状況ビューで、(null) 結果で、(null) 進行状況ビューで、正しい文字列の警告: Attempt to present on
次に、キャンセル ボタンを押して firstTableview に戻り、もう一度詳細ビューを押すと、null が表示されなくなります。
進行状況ビューで, 結果の右の文字列, 進行状況ビューの右の文字列, 右の文字列