Usando Swift 1.1 e Xcode 6.2.
Eu tenho um UIStoryboard contendo uma UIViewController
subclasse única e personalizada . Nele, eu tenho um @IBOutlet
tipo de conexão UIView
desse controlador para uma UIView
subclasse no storyboard. Eu também tenho saídas semelhantes para subviews dessa visão. Veja a figura A.
Mas em tempo de execução, essas propriedades são nulas (Figura B). Embora eu tenha garantido que conectei as tomadas no Interface Builder.
Pensamentos :
- É possível que, por estar usando uma subclasse de uma subclasse, algo atrapalhe a inicialização? Não estou substituindo nenhum inicializador
awakeFromNib:
não está sendo chamado por algum motivo- Talvez não conecte a subvisualizações em subvisualizações
Coisas que tentei:
@IBOutlet
Tipos de itens correspondentes e de storyboard exatamente (em vez deUIView
)- Excluir propriedade e saída e adicioná-los novamente
Figura A *
Figura B
* O código obscuro em Figure A
é:
@IBOutlet private var annotationOptionsView: UIView!
@IBOutlet private var arrivingLeavingSwitch: UISegmentedControl!
Obrigado.
clearView
Espero ser nulo. É algo que ainda preciso refatorar. Veja também a nota de rodapé da figura A. @ShaanSingh Deve ser! porque as conexões de storyboards são (supostamente) definidas no tempo de execução e não devem ser nulas.
let vc = UIStoryboard(name: "LocationPickerModal", bundle: nil) .instantiateViewControllerWithIdentifier("LocationPickerModalViewController") as LocationPickerModalViewController