6

私は、TableViewController を持つ 1 つのコンテナー ビューを持つ単純な ViewController を持っています。ViewController で、外部 API からデータをロードし、そのデータの一部をコンテナー内の TableViewController に渡す必要があります。

それを行う方法はありますか?ありがとうございました!

4

1 に答える 1

14

コンテナー ビューに含まれるコントローラーは、親コントローラーから self.childViewControllers によってアクセスできます。1 つしかない場合は、self.childViewControllers[0] になります。


注:以下のコメントで説明されているRDの優れたテクニックについて。これは、テスト済みで機能している典型的な例です。これは、シーン全体の VC に単純に含まれます。セグエ自体 (接続矢印の真ん中にある小さな記号) をクリックするだけで、テキスト識別子を設定できます。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
    if ([segue.identifier isEqualToString:@"containerLogin"])
        self.vcLogin = (LoginVC *)segue.destinationViewController;

    if ([segue.identifier isEqualToString:@"containerStartNew"])
        self.vcStartNew = (StartNewVC *)segue.destinationViewController;

    }

Swiftでそれを行う方法は次のとおりです:(アンラッパーに注意する必要があります)

override func prepareForSegue(segue:(UIStoryboardSegue!), sender:AnyObject!)
    {
    if (segue.identifier == "feedContainer")
        {
        feed = segue!.destinationViewController as! Feed
        feed.someFunction()
        }
    }
于 2013-03-29T15:17:36.123 に答える