0

特定のデータが読み込まれる前に、ビューがモーダル ビューとして開かないようにすることが可能かどうか疑問に思っています。

例えば:

addTimeViewController = [[[AddTimeViewController alloc] initWithNibName:@"AddTimeViewController" bundle:nil] autorelease];
addTimeViewNavigationController = [[[UINavigationController alloc] initWithRootViewController:addTimeViewController] autorelease];

Item *item = (Item *)[_dataModel.items objectAtIndex:_currentEditCell];    
[self.navigationController presentModalViewController:addTimeViewNavigationController animated:YES];

[addTimeViewController updateTime:item];

これにより AddTimeViewController がモーダルとして開きますが、AddTimeViewController は表示される前に特定のデータをロードする必要があります。

そのデータが読み込まれる前にモーダル ビューで開かないようにする方法はありますか? AddTimeViewController 自体の中でこれを行いたいのですが、通知を送信してそのようにしたくありません。

4

2 に答える 2

1

代わりに、ViewController が開いたときに、リモート ソースから現在データをロードしていることをユーザーに伝える中間ビューを追加できます。

于 2012-06-28T10:11:20.033 に答える
1

ViewControllerすべてのデータ タスクが完了した場合にのみ、新規をロードします。

サーバーから大量のデータがフェッチされる場合は、それをバックグラウンド スレッドで使用できます。

Item *item = (Item *)[_dataModel.items objectAtIndex:_currentEditCell];
[self performSelectorOnMainThread:@selector(loadNewView)
                       withObject:item
                    waitUntilDone:YES];

-(void)loadNewView {
    addTimeViewController = [[[AddTimeViewController alloc] initWithNibName:@"AddTimeViewController" bundle:nil] autorelease];
    addTimeViewNavigationController = [[[UINavigationController alloc] initWithRootViewController:addTimeViewController] autorelease];

    [self.navigationController presentModalViewController:addTimeViewNavigationController animated:YES];
}
于 2012-06-28T10:11:52.370 に答える