3 つのビュー コントローラーを持つ単純なアプリケーションを作成しています。ルート ビュー コントローラーはitem listing
、基本的なテーブル ビューです。このビュー コントローラーから、ユーザー インタラクションに基づいて 2 つの異なるビュー コントローラーcreate item
(ビュー コントローラーまたはビュー コントローラー) をプッシュしview item
ます。
つまり、ストーリーボードのセグエは V か何かのように見えます。
私のcreate item
View Controllerでは、ユーザーが新しいアイテムを作成したときにルートView Controllerにポップバックしたいのですが、次にview item
コントローラーにプッシュして、新しく作成したアイテムを見ることができるようにします。
私はこれを機能させることができないようです。ルート ビュー コントローラーに戻るのは簡単ですが、そのview item
コントローラーをプッシュすることはできません。
何か案は?以下にコードを貼り付けました。ポップ機能は機能しますが、新しいビューは表示されません。
- (void) onSave:(id)sender {
CLLocation *currentLocation = [[LocationHelper sharedInstance] currentLocation];
// format the thread object dictionary
NSArray* location = @[ @(currentLocation.coordinate.latitude), @(currentLocation.coordinate.longitude) ];
NSDictionary* thread = @{ @"title": _titleField.text, @"text": _textField.text, @"author": @"mustached-bear", @"location": location };
// send the new thread to the api server
[[DerpHipsterAPIClient sharedClient] postPath:@"/api/thread"
parameters:thread
success:^(AFHTTPRequestOperation *operation, id responseObject) {
// init thread object
Thread *thread = [[Thread alloc] initWithDictionary:responseObject];
// init view thread controller
ThreadViewController *viewThreadController = [[ThreadViewController alloc] init];
viewThreadController.thread = thread;
[self.navigationController popToRootViewControllerAnimated:NO];
[self.navigationController pushViewController:viewThreadController animated:YES];
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[self.navigationController popToRootViewControllerAnimated:YES];
}];
}