Verwendung "." für Zugriff für Getter und Setter, wobei Property nicht synthesized, sondern eigene Getter und Setter implementiert - XCode erkennt bei Eingabe Instanzvariablen nicht

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Aufgrund der Corona-Krise: Die Veröffentlichung von Stellenangeboten und -gesuchen ist bis 31.12.2020 kostenfrei. Das beinhaltet auch Angebote und Gesuche von und für Freischaffende und Selbstständige.

  • Verwendung "." für Zugriff für Getter und Setter, wobei Property nicht synthesized, sondern eigene Getter und Setter implementiert - XCode erkennt bei Eingabe Instanzvariablen nicht

    Hallo zusammen,

    versuche gerade, ein Rezept aus dem Buch "Cocoa Kochbuch" nachzuprogrammieren. Dabei habe ich folgendes Problem: In den Listings werden Properties verwendet, die zunächst synthesized werden. Später wird ein eigener Setter implementiert. XCode beschwert sich dann, dass ein synthesized Getter nicht mit einem selbst implementierten Setter kombiniert werden kann. Daher habe ich den synthesize-Befehl entfernt und auch einen eigenen Getter implementiert. Keine Beschwerden von XCode mehr. Wenn ich jedoch nun mit dem Convenience-Operator "." auf die Instanzvariable zugreifen will, so erkennt XCode diese nicht (d.h., es wird kein Vorschlag zum Vervollständigen angeboten). Das klappt scheinbar nur, wenn die Instanzvariable als Property deklariert ist. In diesem Fall wiederum (also ich lasse die Property-Deklaration stehen) warnt XCode, dass ein Property mit einem "_" autosnthesized und verwendet werden würde. Das möchte ich natürlich auch nicht.

    Wie kann ich diesen Konflikt auflösen?

    Ganz herzlichen Dank im Voraus für Hinweise/Ratschläge!

    Beste Grüße
  • Die Punktnotation funktioniert unabhängig von Propertys, und funktioniert sogar mit Klassen, z. B.: NSString *theString = NSString.alloc.init.autorelease ist kein Syntaxfehler.

    Der Fehler, den Dir Xcode ursprünglich ausgespuckt hat, rührt häufig von unbedacht verwendeten Modifizierern in der Propertydeklaration (z. B. nonatomic)...
    „Meine Komplikation hatte eine Komplikation.“