2016-03-17 25 views

risposta

0

"non null" è principalmente lì per combinare Objective-C e Swift. Swift tradurrà il tipo del metodo in "NSString" e non in "NSString?".

+0

destro, ma anche quando non si utilizza Swift a tutti, deve ancora essere utilizzato a destra? Il compilatore usa i suggerimenti in altri posti, come impostare una proprietà nonnill esplicitamente su zero. Ma in questo caso, nessun avviso. Sembra strano –

1

Beh, a mio avviso dovrebbe produrre un avvertimento, ma non sono riuscito a capirlo.

Ciò che potrebbe essere utile, tuttavia, è l'utilizzo di Product > Analyze per l'esecuzione dell'analizzatore statico CLANG. Questo dovrebbe dare il seguente suggerimento:

Null viene restituito da un metodo che dovrebbe restituire un valore non nullo

Un altro aspetto degno di nota è l'impostazione CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION che prende il nome Incorrect Uses of Nullable values nel Apple LLVM 7.1 - Warnings - All languages sezione delle impostazioni di compilazione.

Questa impostazione non genera un avviso per valori di ritorno errati, ma mostra un avvertimento quando si utilizza il metodo con parametri errati (ad esempio zero per parametri non nulli).

Questa risposta si riferisce alla versione 7.3.1 Xcode (7D1014)