Präprozessor-Makro zum Ziel Interface Builder ist für OS X nicht verfügbar?

8

Ich habe eine IB_DESIGNABLE benutzerdefinierte NSView Unterklasse. Beim Zeichnen möchte ich, dass meine Ansicht eine Methode nur ausführt, wenn sie in Interface Builder ausgeführt wird. Ich habe nachgesehen, und Apples Dokumentation besagt:

  

Sie können das Präprozessor-Makro TARGET_INTERFACE_BUILDER zur Angabe verwenden   Code für die Aufnahme in oder Ausschluss von Ihrer benutzerdefinierten Ansichtsklasse.

%Vor%

Ich bin zu meinem Code gesprungen und habe einer meiner Methoden folgendes hinzugefügt:

%Vor%

Sofort habe ich den folgenden Fehler erhalten:

  

... /MyCustomView.m:134:8: Verwendung der nicht deklarierten Kennung 'TARGET_INTERFACE_BUILDER'

Das lässt mich glauben, dass das Makro TARGET_INTERFACE_BUILDER preprocessor nur für Xcode-Ziele geeignet ist, die das iOS SDK verwenden. Habe ich in dieser Annahme Recht, oder habe ich etwas übersehen? Jeder Rat wäre großartig! Danke.

    
Ben Stock 15.11.2014, 14:25
quelle

1 Antwort

0

Dieses Makro wird nur definiert, wenn der Interface Builder Ihren Code erstellt. Daher ist die korrekte Verwendung das:

%Vor%     
Tamás Zahola 08.11.2017, 22:04
quelle