nonnull
funziona per le funzioni C ma non per i metodi obj-c. Per essere chiari, io sto suggerendo questoPerché non c'è un attributo 'nonnil' per clang?
- (void)doSomethingWithRequiredString:(NSString * __attribute((nonnil)))requiredString
bar:(NSString *)optionalString);
o (più come non nulli)
- (void)doSomethingWithRequiredString:(NSString *)requiredString
bar:(NSString *)optionalString)
__attribute((nonnil(0)));
ho perplessi sul fatto se c'è o non c'è una buona ragione tecnica. Capisco che clang potrebbe davvero utilizzare l'attributo solo per un controllo del tempo di compilazione o analisi statica, ma sembra ortogonale. C'è qualche forte motivo non per avere questo?
Il mio sospetto: 'clang' è un grande progetto. I suoi sviluppatori hanno cose migliori da fare. –