typedef (^ SimpleBlock) (id obj);
とかをconfig的な場所で定義して、いろんな場所で使っていた。
たまたまヘッダーファイルをがっつりいじる機会があったので、nonnullとかnullableとかも書いて、ヘッダの上の方で定義していたので存在を忘れていた。
そのままコンパイルしたらワーニングが出ていた。
pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
あ、すみません。と思ってnullableと書いてコンパイルしたらエラー。
unknown type name 'nullable'
expected ')'
こんな感じでいくつか。
結論は最初のワーニングに書いてあって、この通りに書けばよかった。
1. _Nonnull
2. _Nullable
3. _Null_unspecified
つまりこんな。
typedef (^ SimpleBlock) (_Nulla