0

AppDelegate

- (void)applicationDidFinishLaunching:(UIApplication *)application {
    UIStoryboard *myStoryboard = [UIStoryboard storyboardWithName:@"MainSB" bundle:nil];
    tCont = [myStoryboard instantiateViewControllerWithIdentifier:@"Table"];
}

- (void)serviceAdded:(NSNetService *)service moreComing:(BOOL)more {
    tCont.server = _server;
    [tCont addService:service moreComing:more];
}

テーブルコントローラー

- (void)addService:(NSNetService *)service moreComing:(BOOL)more {
    [self.services addObject:service];
    if(!more) {
        [self.tableView reloadData];
    }
}

serverは正しく繰り越され、 にservice加算されservicesます。しかし、テーブルビューには表示されません。ビューが存在する前にインスタンス化しようとしているからですか?

更新:もう少しデバッグを行ったところ、デリゲートが呼び出す前に TableController が初期化されていることがわかりました。私は TableController スレッドを 1 つしか見ていないので、私のコードが問題である可能性が最も高いです。

4

1 に答える 1

1

を作成しUIWindow、そのrootViewControllerプロパティをテーブル ビュー コントローラーに設定して、makeKeyAndVisibleメッセージを送信する必要があります。tableView:cellForRowAtIndexPath:テーブルビューコントローラーにもメソッドを実装する必要があります。

于 2013-01-27T22:53:05.537 に答える