2014-10-03 5 views
-1

Я этот выход объявлен в моем UIViewController и связан с раскадровки:Swift ошибка разворачивать из @IBOutlet ссылки из loadView() в iOS7, но работает в iOS8

@IBOutlet var pennyView: UIView! 

я загружаю контроллера в loadView просмотров страниц и установление опции на кнопке:

override func loadView() { 
    super.loadView() 

    //Add PageViewController 
    pageViewController = UIPageViewController(transitionStyle: UIPageViewControllerTransitionStyle.Scroll, navigationOrientation: 
     UIPageViewControllerNavigationOrientation.Horizontal, options: nil) 
    let child = viewControllerAtIndex(0) 
    pageViewController!.setViewControllers([child!], direction: UIPageViewControllerNavigationDirection.Forward, animated: false, completion: nil) 
    pageViewController!.dataSource = self 
    self.addChildViewController(pageViewController!) 
    self.view.addSubview(pageViewController!.view) 

    //Add Buttom 
    button.backgroundColor = UIColor.LightPurple(1) 

    let pageViewcontrollerView = pageViewController!.view 
    pageViewcontrollerView.setTranslatesAutoresizingMaskIntoConstraints(false) 
    self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[pageViewcontrollerView][button]", options: nil, metrics: nil, views: ["pageViewcontrollerView":pageViewcontrollerView, "button":button])) 
    self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[pageViewcontrollerView]|", options: nil, metrics: nil, views: ["pageViewcontrollerView":pageViewcontrollerView, "button":button])) 

} 

Это все работает денди в симуляторе iOS8. Но я получаю «неустранимая ошибка: неожиданно нашли ноль в то время как разворачивание необязательное значение» ссылки на этот призыв во время работы на iOS7.1

 button.backgroundColor = UIColor.LightPurple(1) 

Что это дает?

+0

Я предполагаю, что вы определили расширение 'UIColor' с' class func LightPurple() '? Это не стандартная функция 'UIColor' - можете ли вы показать нам свою реализацию этого метода? –

+0

Да, у меня есть. Опять же, он работает в ios8, а не ниже. Ошибка сохраняется, если я не использую расширение UIColor. Фактически, это происходит с любым вызовом кнопки. 'import Foundation import UIKit extension UIColor {class func LightPurple (alpha: CGFloat) -> UIColor {return UIColor (красный: 174/255, зеленый: 168/255, синий: 211/255, alpha: alpha)}}' Не уверен почему это было приостановлено? Если исходный вопрос глуп из-за «x», дайте мне знать, что такое «x». – zooster

ответ

1

Решение этой самой неприятной проблемы между прошивкой 7.1 и прошивкой 8.0 было так же просто, как:

iOS Simulator > Reset Content and Settings

Он теперь работает без каких-либо других изменений. Сумасшествие.