2011-09-01 9 views
7

Voglio chiamare [NSString compare: options: range:] e non passare nessuna opzione.Confronto NSString: opzioni: intervallo: - quale valore passare per nessuna opzione?

Quale dovrebbe essere il valore corretto per fornire il parametro opzioni?

Sia nil e NULL producono un avvertimento in Xcode: "puntatore a intero incompatibile conversione invio 'void *' al parametro di tipo ..."

+0

senza opzioni, non è necessario eseguire questa operazione. – sidyll

+0

non proprio - Voglio fornire un valore per il parametro di intervallo –

risposta

9

Basta passare 0. In alternativa, se hai visitato il blocco Mac alcune volte, potresti sorprenderti passando kNilOptions che è solo un altro nome per 0, ma implica la flagginess relativa.

+0

hey consiglio cool sulle kNilOptions, non lo sapevo –

+0

Interessante, I non l'avevo mai incontrato prima. Sembra che sia destinato ad essere usato con gli argomenti di 'OptionBits', che ovviamente è un tipo che nessuno usa più. –

+0

Ancora, intorno al blocco un paio di volte. ; p –

2

Si dovrebbe passare 0. L'argomento options è un bit mask, che in realtà significa che è solo un numero intero. Questo è anche il motivo per cui l'avvertimento dice "conversione intera".

+0

sì - questo ha senso ... Ero appena fissato su una memoria sbiadita che in passato stavo mettendo NULL lì –

+0

Se fai clic con il tasto destro del mouse sul metodo per andare alla sua dichiarazione, e poi fare un comando-clic sul tipo dell'argomento 'options', vedrai che di solito è solo un typedef di' NSUInteger' –

0

come Apple Docs dice:

Opzioni per la ricerca-è possibile combinare qualsiasi dei seguenti utilizzando un bit a bit C operatore OR: NSCaseInsensitiveSearch, NSLiteralSearch, NSNumericSearch. Vedere la Guida alla programmazione delle stringhe per i dettagli su queste opzioni.

NSCaseInsensitiveSearch: una ricerca senza distinzione tra maiuscole e minuscole.

NSLiteralSearch: equivalenza esatta carattere per carattere.

NSNumericSearch: I numeri all'interno delle stringhe vengono confrontati utilizzando il valore numerico, ovvero Nome2.txt < Nome7.txt < Nome25.txt.

String Programming Guide

+0

questo non risponde alla mia domanda, ovviamente ho prima controllato i documenti –

+0

E perché non hai passato uno di questi parametri? – Nekto

+0

@Nekto: potresti voler rileggere la domanda dell'OP. Lui non vuole nessuno dei parametri. Voleva sapere cosa passare per indicare un'assenza di parametri. –

Problemi correlati