Difference between nullable, __nullable and _Nullable in Objective-C
问题 With Xcode 6.3 there were new annotations introduced for better expressing the intention of API's in Objective-C (and to ensure better Swift support of course). Those annotations were of course nonnull , nullable and null_unspecified . But with Xcode 7, there is a lot of warnings appearing such as: Pointer is missing a nullability type specifier (_Nonnull, _Nullable or _Null_unspecified). In addition to that, Apple uses another type of nullability specifiers, marking their C code (source):