я получил это предупреждение, когда я пытаюсь получить символ по индексуИнициализация делает указатель из целого числа без броска
Инициализация делает указатель из целого числа без броска
вот код:
я just wanna Thanks
я получил это предупреждение, когда я пытаюсь получить символ по индексуИнициализация делает указатель из целого числа без броска
Инициализация делает указатель из целого числа без броска
вот код:
я just wanna Thanks
из NSString
- (unichar)characterAtIndex:(NSUInteger)index
Является ли метод. Он возвращает unichar, а не NSString. Вы объявляете, что ваша переменная является указателем NSString, но unichar хранится как целое за кулисами.
Ваша линия должна быть
unichar character = [string charachterAtIndex:random];
как сторона, обратите внимание, вы не можете назвать ваш переменный символ в качестве своего зарезервированного ключевое слова в С.
[NSString characterAtIndex] возвращает символ, а не строковый объект. Поэтому вы не можете назначить его NSString с именем char (или назвали что-либо еще). Вы можете сказать:
unichar ch = [string characterAtIndex:random];
По существу, компилятор предупреждает, что при написании
NSString * name = [string characterAtIndex:random];
вы сохраняете указатель на NSString * по адресу, указанному возвращаемым символом (без знака long). Если вам нужно иметь результирующий символ как NSString, вы должны использовать метод как
[NSString substringWithRange: NSRangeFromString([NSString stringWithFormat: @"%d-%d", random, 1])];
, которая возвращает указатель на объект NSString.
В чем вопрос? – Jasper
О, и в любом случае вы не должны использовать 'char' в качестве имени переменной. Это примитивный тип от c. – Jasper