Пустой символ в Objective-C
Я создаю некоторый код, который будет искать пробел между символами и использовать символы перед пробелом и те, что после него. Эти символы хранятся в строке NSString. Вот то, что я имею до сих пор, однако, это не видение пустого персонажа.
NSString *tempTitle = self.title;
unsigned int indexOfSpace; // Holds the index of the character with the space
unsigned int titleLength = (unsigned int)self.title.length; // Holds the length of the title
for (unsigned int count = 0; count < titleLength; count++)
{
if ([tempTitle characterAtIndex:count] == "") // If the character at the index is blank, store this and stop
{
indexOfSpace == count;
}
else // Else, we keep on rollin'
{
NSLog(@"We're on character: %c", [tempTitle characterAtIndex:count]);
}
}
я пробовал nil
, пустая строка ("") и "", но безрезультатно. Есть идеи?
1 ответ
Ваш пробел должен быть в одинарных кавычках, а не в двойных. Одинарные кавычки дают вам тип символа в C. (Двойные кавычки создают строковый литерал, который по существу функционирует как char *
и никогда не пройдет ваше сравнение.)
-[NSString characterAtIndex:]
возвращает тип unichar
, который является unsigned short
, так что вы должны иметь возможность сравнить это непосредственно с пробелом ' '
, если это то, что вы хотите сделать.
Обратите внимание, что nil и пустая строка здесь бесполезны - они также не являются символами, и в любом случае ваша строка никогда не будет "содержать" их.
Вы также должны увидеть методы NSString для непосредственного поиска символов в строках, например -[NSString rangeOfString:]
и его кузены. Это мешает вам написать цикл самостоятельно, хотя, к сожалению, это немного синтаксически многословно.