Cela devrait être relativement simple en Objective-C, mais je rencontre des problèmes pour l'implémenter dans Swift.
J'ai un xib
et deux IBOutlets à un UIView personnalisé. Mais quand j'initialise la vue, j'obtiens une erreur en disant que mes IBOutlets sont nuls.
Voici mon CustomView:
import UIKit class MessageView: UIView { @IBOutlet weak var messageLabel: UILabel! @IBOutlet weak var genderImageView: UIImageView! override convenience init() { self.init(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) } override init(frame: CGRect) { super.init(frame: frame) } convenience init(message: Ssortingng, gender: Gender) { self.init(frame: CGRectMake(0, 0, 320, 40)) messageLabel.text = message genderImageView.image = UIImage(named: "male") } required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } }
messageLabel.text = message
l'initialiseur de commodité de mon controller de vue, et il échoue sur le messageLabel.text = message
ligne de messageLabel.text = message
indiquant que messageLabel
est nil
.
Je pensais que self.init(frame:)
initialiserait mon xib? Où vais-je mal?