私の DetailViewController.h で、以下に示すように * プロパティ タイプを宣言しました。
@interface DetailViewController : UIViewController
@property (strong, nonatomic) NSString *type;
@end
次に、TableView を含む UIViewController である ListViewController を取得しました。ListViewController.h は次のようになります。
@interface ListViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@end
私の ListViewController.m で * タイプの値を変更したいのですが、すぐにビューを切り替えます (ビューの切り替えは正常に機能しています)。
以下を追加してこれを行っています。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UINavigationController * navigationController = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailController"];
DetailViewController * detailController = [[DetailViewController alloc] init];
detailController.type = @"video";
NSLog(@"Type: %@", detailController.type);
[self.navigationController pushViewController:navigationController animated:YES];
}
このブロック/関数の 2 行目にブレークポイントを配置すると、detailController が * タイプで取得されます。これを数行後に NSLog すると、「(null)」が返されます。ビューは変更されますが、タイプは設定されていません。
私は何が間違っているのか理解できませんか?これに対する解決策を持っている人、または私たちがこれについて説明していることを私に指摘できる人はいますか?
答えを探してみましたが、私の問題に相当するものを見つけることができなかったか、間違った検索用語を使用したためです..