Mit 6,3 XCode bemerkte ich einige Eigenschaft Attribute, nämlich:Was tun die nullbezogenen Eigenschaftenattribute in XCode?
nonnull
null_resettable
nullable
Könnte jemand erklären, was sie bei der Anwendung zu tun?
Mit 6,3 XCode bemerkte ich einige Eigenschaft Attribute, nämlich:Was tun die nullbezogenen Eigenschaftenattribute in XCode?
nonnull
null_resettable
nullable
Könnte jemand erklären, was sie bei der Anwendung zu tun?
Apple hat zwei neue Anmerkungen hinzugefügt: __nullable und __nonnull. Der Zeiger __nullable kann einen NULL- oder NULL-Wert haben, während __nonnull keinen haben sollte.
Wie Sie in swift wissen sollten, können Sie Optionals (?) Verwenden, aber in Objective-C können Sie nicht. Diese Attribute können Sie Objective-C-Code erstellen, die verständliche durch rasche und complier warnen Sie, wenn Sie die Regel brechen, zum Beispiel:
@property (copy, nullable) NSString *name;
@property (copy, nonnull) NSArray *allItems;
Dies wird in schnellen ‚übersetzt‘ werden:
var name: String?
var allItems: [AnyObject]!
ungleich NULL:
Dies wird von NSHipster genommen Zeigt an, dass der Zeiger sollte/wird nie Null sein. Zeiger , die mit nichtnull kommentiert sind, werden in Swift als ihr nicht-optionaler Basiswert (d. H. NSData) importiert.
Nullwert: Gibt an, dass der Zeiger in der allgemeinen Praxis null sein kann. Importiert in Swift als optionaler Wert (NSURL?).
null_unspecified: Setzt die aktuelle Funktionalität von in Swift als implizit unverpackt optional fort, idealerweise zu wird nur während dieses Annotationsprozesses verwendet.
null_resettable: Zeigt an, dass eine Eigenschaft zwar immer einen Wert haben kann, aber zurückgesetzt werden kann, indem nil zugewiesen wird. Eigenschaften mit einem Nicht-Null-Standardwert können auf diese Weise kommentiert werden, wie tintColor. Importiert in Swift als (relativ sicher) implizit unverpackt optional. Dokumentieren Sie entsprechend!
Also im Grunde; Diese Attribute werden nur im Zusammenhang mit Swift verwendet, oder? –
Hauptsächlich ja, aber Sie erhalten Compiler-Warnungen, wenn Sie versuchen, NULL auch der Eigenschaft zuzuweisen, die in Objective-C als nicht-null markiert ist. – Greg