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
%Vor%TARGET_INTERFACE_BUILDER
zur Angabe verwenden Code für die Aufnahme in oder Ausschluss von Ihrer benutzerdefinierten Ansichtsklasse.
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.
Dieses Makro wird nur definiert, wenn der Interface Builder Ihren Code erstellt. Daher ist die korrekte Verwendung das:
%Vor%Tags und Links macros objective-c ios macos interface-builder