Я создал тестовый проект в ios 8 beta 4, который как главный контроллер представления и второй контроллер представлений, созданный как подкласс UIViewController с xib файлом.
Я поставил кнопку на главном контроллере, чтобы представить второй контроллер:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func testVCBtnTapped() {
let vc = TestVC()
presentViewController(vc, animated: true, completion: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Я запускаю приложение и нажимаю кнопку, представляет второй контроллер - все хорошо
Переходя к xcode beta 5, я запускаю приложение, и когда я нажимаю кнопку, экран становится черным.
Так как я знаю, что они испортили код init, я попытался включить в него переопределения, чтобы это исправить:
class TestVC: UIViewController {
override init() {
super.init()
}
required init(coder aDecoder: NSCoder!) {
super.init(coder: aDecoder)
}
override init(nibName nibNameOrNil: String!, bundle nibBundleOrNil: NSBundle!) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
Такая же проблема. Изменение требуемого и переопределения во все возможные комбинации, принятые xcode, не имеет эффекта.
Если я использую раскадровку для создания другого контроллера и перейдите к нему, все будет хорошо.
Любые идеи?
EDIT - новая информация
- Пробовал nibName = nil в init - та же проблема
- Создал одно и то же приложение в объективе c и отлично работает
По-видимому, быстрая проблема с бета-тестированием