我正在使用
在我的项目中,我使用
Xcode8
并且在一个 OC 和 Swift 混编的项目上工作。在我的项目中,我使用
swift 2.3
来创建新的 viewController
。
我通过创建新文件并勾选 (Also crate XIB file) 来简单地创建 ViewController
(这样它就可以自动绑定 VC)。
由于我过去的代码是 OC,所以我使用以下方式初始化我的 VC。_theViewController = [[TheViewController alloc] init];
我想设置frame或者其他init属性与@IBOutlet
视图一起使用。
在iOS 9及以上版本中,这全部都没问题(xib按预期加载,在viewDidLoad中断点后,可以看到那些Outlet实例不为nil)。但是在iOS 8下,无论在viewDidLoad
,viewWillAppear
,还是viewDidAppear
中,那些IBOutlet
视图始终为nil。当我注释掉所有初始化部分时,它似乎并没有像我想要的那样加载我的xib
视图。
我尝试了一些我能找到的解决方案,但似乎都没有用(我确定xib已链接到VC(毕竟是由xcode创建和链接的)重写一些函数或以其他方式强制加载希望它的方法)
任何建议都将不胜感激 T_T
PS: 我没有使用故事板,只是使用这个xib技术进行快速和可视化开发。
init(nibName:bundle:)
的事情吗?甚至我的实现在iOS 9+上工作,我应该在这种情况下用init(nibName:bundle:)
替换所有的init吗? - d0ye