Да, unichar внутренне unsigned short, поэтому вы можете осмысленно сравнить его с char (если последний является ASCII, но отлично подходит для '\n').
Ответ 2
Соблюдайте осторожность при проверке новой строки, в которой вы знаете формат окончаний вашей строки, поскольку Unix (и современный Mac) использует \n, но Windows использует \r\n, а классический Mac использует\r.
Ответ 3
При сравнении unichars используйте вместо этого:
if ([[NSCharacterSet newlineCharacterSet] characterIsMember:unicharCharacter])
{
//any type of newline
}
else
{
//etc
}
Затем вы поймаете все типы новых строк и получите код, который вы можете легко изменить, чтобы соответствовать различным наборам символов (например, whitespaceAndNewlineCharacterSet).