Wert des Typs '() - _' kann nicht in den angegebenen Typ 'Town.Size' konvertiert werden

8

Ich bekomme dieses Problem mit dieser Struktur in der Zeile, die liest "lazy var townSize: Size = {" und kann nicht herausfinden, was das Problem ist.

%Vor%     
pdenlinger 12.04.2016, 16:35
quelle

2 Antworten

8

Sie haben fälschlicherweise var deklariert, es sollte wie folgt deklariert werden

%Vor%     
Peter K 12.04.2016 16:41
quelle
6

Wie bereits erwähnt, benötigen Sie zum Initialisieren einer gespeicherten Eigenschaft mit einer Schließung das () nach dieser schließenden geschweiften Klammer:

%Vor%

Da population jedoch eine Variable und keine Konstante ist, möchten Sie nicht, dass townSize eine gespeicherte Eigenschaft ist. Stattdessen möchten Sie, dass es sich um eine berechnete Eigenschaft handelt, die alle Änderungen in population genau widerspiegelt:

%Vor%

Beachten Sie das Fehlen von = .

Wenn Sie eine gespeicherte Eigenschaft lazy verwenden, ändert sich population nach dem Zugriff auf townSize nicht, die townSize spiegelt dies nicht entsprechend wider. Die Verwendung einer berechneten Eigenschaft löst dieses Problem jedoch.

    
Rob 12.04.2016 16:49
quelle

Tags und Links