Ich glaube, das Bild ist ziemlich beschreibend für mein Problem. Wenn ich nur eine benutzerdefinierte definieren getter
wie folgt:Angabe nur Getter erzeugt Warnung b/c kein Setter, aber Setter wird nicht kompilieren
- (UIImage *) secondaryIconImage {
if (_secondaryIconImage) return _secondaryIconImage;
return nil;
}
dann bekomme ich eine Fehlermeldung: ‚cannot pair a synthesized setter with a user defined getter
‘. Allerdings, wenn ich versuche, die setter
auch nicht mein Code zu erklären, überhaupt kompiliert:
- (void) setSecondaryIconImage:(UIImage *)secondaryIconImageVar {
_secondaryIconImage = secondaryIconImageVar;
}
Insbesondere das gibt mir die Kompilierung Fehler ‚Use of undeclared identifier _secondaryIconImage
‘
ich vielleicht dachte, wenn ich die erklärte Setter Ich würde die Instanzvariable selbst synthetisieren müssen, also habe ich versucht, hinzuzufügen:
Dies hat nicht geholfen. Was ist hier los und wie kann ich es beheben?
p.s. Ich habe einen eigenen Getter, weil ich irgendwann etwas Zarteres machen muss, aber ich sah keinen Grund, das Beispiel zu komplizieren, da mir selbst dieses grundlegende Beispiel ein Problem bereitet.
Warum brauchen Sie diesen Setter? Das ist genau das, was der eingebaute in einem tun würde ... Ihr Kompilierungsfehler ist aufgrund der Tatsache, dass Sie keine '_secondaryIconImage' Variable in Ihrer Klasse definiert haben. Wenn Sie das definieren, dann sollte alles für Sie gut zusammenstellen. – Putz1103
@ Putz1103 Ich möchte mehr tun, sah nur keinen Grund, das in den Code aufzunehmen. – helloB