Link xib-Datei mit dem UIViewController und Benutzerdefinierte Klasse
Erstellen Sie die xib-Datei füge ich eine neue cocoa touch Datei Unterklasse von UIViewController, und überprüft die "Auch XIB-Datei Erstellen".
Es ist nur ein label in meiner xib-Datei.
In meinem view-controller :
import UIKit
class TestControllerViewController: UIViewController {
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
//Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
//Dispose of any resources that can be recreated.
}
Nichts anderes als meine IBoutlet (ich überprüfte die Verbindung Inspektor 10 mal mindestens).
Und Meine custom class :
import Foundation
import UIKit
class Card: UIView {
internal var number:Int?
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(frame: CGRect) {
super.init(frame: frame)
}
convenience init()
{
self.init()
}
}
extension UIView {
class func loadFromNibNamed(nibNamed: String, bundle : NSBundle? = nil) -> UIView? {
return UINib(
nibName: nibNamed,
bundle: bundle
).instantiateWithOwner(nil, options: nil)[0] as? UIView
}
}
Instanziieren ich diese xib-Datei, in meinem ersten viewController :
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//Do any additional setup after loading the view, typically from a nib.
var test:Card = Card.loadFromNibNamed("TestControllerViewController")! as! Card
test.number = 18
//self.view.addSubview(test)
}
Und ich habe noch immer diesen Fehler :
2015-07-27 17:48:52.919 TestXib[6865:578635] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSObject 0x7fcec14b1970> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label.'
Ich weiß nicht, warum, ich habe versucht zu bereinigen /neu erstellen, löschen DerivedData, erstellen Sie die xib-Datei wieder usw.
Könnten Sie mir bitte helfen ?
Danke.
Ben
Du musst angemeldet sein, um einen Kommentar abzugeben.
Behandeln der falsche Weg. Eine benutzerdefinierte
UIView
von xib der anderenUIViewController
verwirren. Aber ich werde Sie aus diesem Fehler. Siehe Einstellung unten.Ändern
FileOwner
ausTestControllerViewController
zuCard
Entfernen
Outlet
Referenz:Ändern Hauptansicht zu
Card
. Es ist Hilfe, die Sie umwandelnUIView
zuCard
.BTW: ich beraten Sie, erstellen Sie neue xib-Datei
Card.xib
und verbinden Sie es mitCard.swift