0

次のような状況があります。 ここに画像の説明を入力

ご覧のとおり、tabbarController に移動するセグエがあります。しかし、画面に表示されている VC に ID を設定する必要があります。どうすればこれを達成できるか考えていますか。

通常はこのコードを使用します。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if ([segue.identifier isEqualToString:@"showTab"]) {
        [segue.destinationViewController setPersonId:personobject.cu_id];
    }
}

しかし、これは私の tabbarController に送られ、私の FirstTabController には送られません。何か助けはありますか?

敬具

4

2 に答える 2

1

宛先ビュー コントローラーはUITabBarController. そのタブコントローラーから最初のタブのコントローラーへのインスタンスを取得する必要があります。

UITabBarController *tabController = (UITabBarController *) segue.destinationViewController;
FirstTabController *firstController = [tabController.viewControllers objectAtIndex:0];

[firstController setPersonId:personobject.cu_id];
于 2013-01-25T09:18:13.723 に答える
0

オケ、

次の方法で personId を NSUserDefaults に保存するだけで問題を解決しました。

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
                             [prefs setInteger:[personObject.cu_id intValue] forKey:@"personId"];
                             [prefs synchronize];

これで、次のように呼び出すことで、すべての VC でアクセスできるようになりました。

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    _personId = [NSNumber numberWithInt:[prefs integerForKey:@"personId"]];
于 2013-01-25T09:27:30.070 に答える