Swift: Fehler: 'erforderlicher' Initialisierer 'init (coder :)' muss von der Unterklasse von 'UIView' bereitgestellt werden

8

Ich habe ein Problem, wenn ich meine App in swift 2 erstelle. Xcode sagt:

  

'erforderlicher' Initialisierer 'init (coder :)' muss von der Unterklasse von 'UIView'

bereitgestellt werden

Dies ist der Code der Klasse:

%Vor%

und dies ist der Klassenfragebogen:

%Vor%

Merci!

    
Erwann Bestard 07.02.2016, 15:40
quelle

4 Antworten

9

Hinweis für erforderlich : Schreiben Sie den erforderlichen Modifizierer vor der Definition eines Klasseninitialisierers, um anzugeben, dass jede Unterklasse der Klasse diesen Initialisierer implementieren muss.

Hinweis zu überschreiben : Sie überschreiben immer den überschreibenden Modifikator, wenn Sie einen übergeordneten Initialisierer überschreiben, selbst wenn die Implementierung des Initialisierers der Unterklasse ein einfacher Initialisierer ist.

Oben wird auf beide Hinweise verwiesen: Swift Programming Language / Initialization

Daher sollte Ihre Unterklasse von UIView dem folgenden Beispiel ähneln:

%Vor%     
Allen 07.02.2016, 15:44
quelle
1

Einige Kommentare zu diesem Code:

%Vor%

Ein Var-Name sollte mit Kleinbuchstaben beginnen: var qr

Möchten Sie mit 2 leeren Strings initialisieren? In Ihrem Code erhalten Sie ["", ""] bei init. Dieses Array wird nicht sehr benutzerfreundlich sein, da Sie Frage und Antwort der Reihe nach mischen.

Wäre wahrscheinlich besser, ein Array von Paaren zu erstellen:

%Vor%

Sie greifen auf seine Komponenten zu: qr [i] .q und qr [i] .r

Sie müssen testen, ob nbQuestion in Grenzen ist. mit der vorherigen Definition von qr wäre das

%Vor%

Hinweis: nbReponse und nbQuestion teilen sich den gleichen Wert für ein gegebenes qr

%Vor%     
claude31 10.11.2017 22:48
quelle
0
  

Nach der neuesten swift-Syntax muss die Methode init Methoden hinzufügen:

%Vor%     
Chenghui He 18.12.2017 06:00
quelle
-1

Nicht-optionale Variablen müssen mit einem Wert ...

initialisiert werden

Entweder QR als optional deklarieren

%Vor%

ODER initialisiere es:

%Vor%     
Umer Hassam 08.02.2016 07:06
quelle

Tags und Links