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

InformationsquelleAutor Benobab | 2015-07-27
Schreibe einen Kommentar