2016-08-09 42 views
1

ich einige Probleme, wenn sie mit einem Storyboard eine benutzerdefinierte Klasse mit verknüpften Subklassen:/Subklassen und Storyboard - nil IBOutlets

So habe ich eine Klasse Subklassifizieren UIViewController

class MyClass: UIViewController 

und einige Unterklassen von MyClass

class MySubclassOne: MyClass 
class MySubclassTwo: MyClass 

MyClass Design made in einem Storyboard MyClass.storyboard

MyClass Implementierung verwalten die grundlegenden respond Änderungen Layout (Rotation, auf dem iPad Multitasking, scrollt ...)

Meine Subklassen den Rest (beides sehr verschiedene Dinge)

FRAGE: Wie muss ich vorgehen MySuclassOne instanziieren, so dass die IBOutlets (in MyClass) nicht Null sind?

HINWEIS: -: Einige Code erklärt es besser

class MyClass: UIViewController { 
    @IBOutlet var lbl_title: UILabel! 
    @IBOutlet var lbl_subtitle: UILabel! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     lbl_title.textColor = .red() // Execution error : lbl_title is nil 
    } 
} 

class MySubclassOne: MyClass { 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     lbl_subtitle.textColor = .orange() 
    } 
} 

class MySubclassTwo: MyClass { 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     lbl_subtitle.textColor = .green() 
    } 
} 
+0

Sie möchten die IBOutlets der übergeordneten Ansicht in die untergeordnete Ansicht benutzen? –

+0

Ja - das ist es – Kireyin

Antwort

0
  1. gehen Sie zu Ihrem Storyboard Ich brauche ein Storyboard aus vielen Gründen verwenden, um eine Datei .xib


    EDIT kann nicht verwendet werden

  2. Wählen Sie Ihre Ansicht Controller
  3. wählen Sie den "Identity Inspector"
  4. setzen Sie Ihre Klasse auf Ihren Klassennamen (z. B. MyClassOne)

enter image description here

+0

Nein, es ist auf 'MyClass' nicht' MySubclassXXX' eingestellt – Kireyin