nonnull
適用於C函數,但不適用於obj-c方法。需要明確的是,我建議這個爲什麼沒有clang的'nonnil'屬性?
- (void)doSomethingWithRequiredString:(NSString * __attribute((nonnil)))requiredString
bar:(NSString *)optionalString);
或(更喜歡非空)
- (void)doSomethingWithRequiredString:(NSString *)requiredString
bar:(NSString *)optionalString)
__attribute((nonnil(0)));
我也困惑過是否有良好的技術理由。我明白,clang只能真正使用該屬性進行編譯時檢查或靜態分析,但似乎是正交的。 不是有這個嗎?
我懷疑:'clang'是一個龐大的系統工程。它的開發人員有更好的事情要做。 – 2013-10-04 16:05:48