Ben*_*tin 40 objective-c uiviewcontroller ios uistoryboard
从故事板中实例化View Controller与创建它的新实例之间的功能区别是什么?例如:
#import "SomeViewController.h"
...
SomeViewController *someViewController = [SomeViewController new];
Run Code Online (Sandbox Code Playgroud)
与
#import "SomeViewController.h"
...
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
SomeViewController *someViewController = [storyboard instantiateViewControllerWithIdentifier:@"SomeViewController"];
Run Code Online (Sandbox Code Playgroud)
在任何一种情况下,someViewController实际上是一回事吗?
rob*_*off 13
在第二种情况下,视图控制器将从故事板加载其视图,您将很高兴.
在第一种情况下,它不会.除非你采取了其他步骤(比如重写loadView或viewDidLoad创建一个名为的xib SomeViewController.xib),否则你只会得到一个空的白色视图并感到难过.
在 Swift 中你可以做同样的事情,
var someVC = self.storyboard?.instantiateViewControllerWithIdentifier("SomeViewController") as! SomeViewController
Run Code Online (Sandbox Code Playgroud)
您需要将Storyboard 中的标识符提供给 SomeViewController 并勾选使用 Storyboard ID 的复选标记
| 归档时间: |
|
| 查看次数: |
27243 次 |
| 最近记录: |