Dies ist eine Methodendefinition in meiner Klasse. Es verursacht eine Warnung. Was ist die Ursache für ähnliche Warnungen und wie können diese behoben werden?
Ich gebe ein UIColor-Objekt zurück, während sich diese Frage auf Blöcke bezieht, die in Kommentaren angegeben sind.
Also, es ist hilfreich.
NS_ASSUME_NONNULL_BEGIN / END:
Das Annotieren eines beliebigen Zeigers in einer Objective-C-Headerdatei verursacht das Der Compiler erwartet Annotationen für die gesamte Datei Kaskade von Warnungen. Vorausgesetzt, dass die meisten Anmerkungen nicht null sind, a Ein neues Makro kann helfen, den Prozess der Kommentierung zu optimieren Klassen. Markieren Sie einfach den Anfang und das Ende eines Abschnitts Ihrer Kopfzeile Markieren Sie mit NS_ASSUME_NONNULL_BEGIN und ..._ END die Ausnahmen.
Also, Sie haben es einfach getan.
%Vor%Dies ist in
definiert"NSObjCRuntime.h"
definiere NS_ASSUME_NONNULL_BEGIN _Pragma ("clang assume_nonnull begin")
definiere NS_ASSUME_NONNULL_END _Pragma ("clang assume_nonnull end")
Danke
Glückliche Kodierung.
Sie haben diese Warnung erhalten, wenn Sie irgendwo in der Datei _Nonnull
, _Nullable
, _Null_unspecified
, __nullable
, __nonnull
, nullable
oder nonnull
verwendet haben. Könnte auch passieren, wenn der Spezifizierer durch ein Makro hinzugefügt wurde.
Um die Warnung zu beheben:
_Nonnull
mit NS_ASSUME_NONNULL_BEGIN
und NS_ASSUME_NONNULL_END
(empfohlen) Tags und Links ios objective-c-nullability