Sono un po 'confuso tra un unichar e un char. Posso trattare un unichar simile a quello di char?Objective-C: unichar vs. char
Per esempio, posso fare questo:
-(BOOL)isNewLine:(unichar)c {
if(c == '\n')
return YES;
else
return NO;
}
Sono un po 'confuso tra un unichar e un char. Posso trattare un unichar simile a quello di char?Objective-C: unichar vs. char
Per esempio, posso fare questo:
-(BOOL)isNewLine:(unichar)c {
if(c == '\n')
return YES;
else
return NO;
}
Sì, UNICHAR è internamente unsigned short
, in modo da poter significato paragono con una char
(se quest'ultimo è ASCII, ma che funziona bene per '\n'
).
Fai attenzione a newline che conosci il formato dei tuoi finali di linea, come Unix (e Mac moderno) usa \ n, ma Windows usa \ r \ n e il classico Mac usa \ r.
Quando si confrontano unichars, considerare invece con:
if ([[NSCharacterSet newlineCharacterSet] characterIsMember:unicharCharacter])
{
//any type of newline
}
else
{
//etc
}
Poi si prenderà tutti i tipi di ritorni a capo e di avere il codice è possibile modificare facilmente per soddisfare diversi set di caratteri (come whitespaceAndNewlineCharacterSet).
Questo è il grande vantaggio di unichars.
Grazie. Ho trovato una classe, NSCharacterSet, che ha un metodo statico per produrre NSNewlineCharacterSet che posso confrontare. – LeeMobile