nonnull
は、C関数では機能しますが、obj-cメソッドでは機能しません。明確にするために、私はなぜclangに 'nonnil'属性がないのですか?
- (void)doSomethingWithRequiredString:(NSString *)requiredString
bar:(NSString *)optionalString)
__attribute((nonnil(0)));
私は良い技術的な理由があるかどうかの上に困惑している(非NULLのようなより)この
- (void)doSomethingWithRequiredString:(NSString * __attribute((nonnil)))requiredString
bar:(NSString *)optionalString);
かを示唆しています。私は、clangがコンパイル時のチェックや静的な解析に本当に属性を使うことができると理解していますが、それは直交しているようです。いくつかの理由がありますかではなく、ですか?
私の疑惑を: 'clang'は、巨大なプロジェクトです。その開発者はより良いことをする。 –