是什么beetween调用差异presentModalViewController和pushViewController,当:
这只是为了能够从第一个推出的视图回来吗?Woooaaaaaa .....
我想差异在于其他地方和更深层次.不是吗?
cocoa-touch uinavigationcontroller pushviewcontroller presentmodalviewcontroller ios
任何人都明白为什么在CoreDataBooks示例代码中:
(a)控制器交换差异的方法
虽然单击一个项目并转到详细视图使用了似乎是" pushViewController " 的标准UINavigationController概念,但当您单击"添加"新记录按钮时,它会启动新视图以通过" presentModalViewController "添加记录"接近?也就是说,这两种方法都不一样,只是使用pushViewController方法?
使用每种方法实际上是否有任何优势?我不太明白.我猜想苹果必须为不同的场景选择不同的方法.例如:
他们会看到与用户的任何差异(即UI差异或功能差异)?
开发人员的任何差异(或优点/缺点)
例如,如果你要考虑使用pushViewController方法,而不是针对的presentModalViewController方法为"添加"的情景......
(b)数据共享方法的差异
他们如何共享共同数据对象的方法似乎有所不同 - 所以再次只是想知道为什么这些方法不一样?(即在两种情况下,主控制器暂时传递到另一个视图,并且它们之间存在一些共享数据 - 即子视图需要传递回父级)
代码提取便利性
这是为了"编辑":
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Create and push a detail view controller.
DetailViewController *detailViewController = [[DetailViewController alloc] initWithStyle:UITableViewStyleGrouped];
Book *selectedBook = (Book *)[[self fetchedResultsController] objectAtIndexPath:indexPath];
// Pass the selected book to the new view controller.
detailViewController.book = selectedBook;
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
}
Run Code Online (Sandbox Code Playgroud)
但是对于"添加"
- (IBAction)addBook {
AddViewController *addViewController = [[AddViewController alloc] initWithStyle:UITableViewStyleGrouped];
addViewController.delegate = self;
// …Run Code Online (Sandbox Code Playgroud) iphone uiviewcontroller uinavigationcontroller modalviewcontroller ios
我有两种方法可以从一个视图控制器跳转到另一个视图控制器
对于presentViewController
[self presentModalViewController:view animated:YES];
Run Code Online (Sandbox Code Playgroud)
对于pushViewControlle应该使用
[self.navigationController pushViewController:view animated:YES];
Run Code Online (Sandbox Code Playgroud)
哪种方法是最好的方法?
哪个会导致更多的内存泄漏?
如果我们的设计是这样的,则使用哪一个
Introduction view (bunch of slides )-> login -> signUp-> HomeActivityScreen-> Then Bunch of tab bar in it
Run Code Online (Sandbox Code Playgroud) xcode objective-c uinavigationcontroller presentmodalviewcontroller ios