ここでは何か基本的なものがありません。ビューコントローラ間で辞書を渡す
私は、各セルがNSDictionaryの内容を表示しているテーブルビューを持っています。各セルをタップすると、同じ辞書の詳細を表示する新しいView Controllerにセグメンテーションしたいと思います。
しかし、私は辞書を通過しようとするたびに、コンテンツは反対側ではnullです。ここで
は、私のテーブルビューを含むビューコントローラにセグエの準備です:予想通り
-(void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"tableSegue"]){
MODetailViewController *detailViewController = [[MODetailViewController alloc] init];
NSIndexPath *selectedIndexPath = [self.monetiseTable indexPathForSelectedRow];
int selectedIndexPathAsInteger = selectedIndexPath.row;
NSDictionary *dictionaryToPass = [[NSDictionary alloc] initWithDictionary:[self.feedArray objectAtIndex:selectedIndexPathAsInteger]];
NSLog(@"%@", dictionaryToPass);
detailViewController.passedDictionary = dictionaryToPass;
}
}
のNSLogは、辞書が表示されます。
今、ディテール・ビュー・コントローラ・ヘッダにIは(iはARCを使用している)プロパティを宣言した:
viewWillAppearで今@property (weak, nonatomic) NSDictionary *passedDictionary;
:
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:YES];
NSLog(@"%@", self.passedDictionary);
}
のNSLogがnull返します!
私はそれを合成しました。
私には何か基本的なものがありません。どんな助け?代わりにweak
の
ありがとうございました。それは私が本当の読書を保持、コピー、割り当て、弱い、強いなどに持っていた頃です! –
がpassedDictionaryを強く宣言している場合は、detailviewcontrollerが割り当て解除されないことがあります。 – iKT