Предупреждение XCode: инициализация делает указатель из целого числа без приведения (при попытке присвоить значение NSNumber) - PullRequest
1 голос
/ 01 октября 2009

Я застрял с предупреждением в Xcode при попытке разработать небольшое приложение для iPhone. У меня есть этот кусок кода в Xcode:

NSNumber * randomNumber = arc4random ()% [количество массивов];

Если я NSLog randomNumber, кажется, все работает, но XCode продолжает предупреждать меня, говоря:

Инициализация делает указатель из целого числа без приведения

Должно быть, я чего-то не понял. Заранее спасибо за помощь:)

1 Ответ

6 голосов
/ 01 октября 2009

NSNumber - объект objc, а int или float - нет. Теперь вы присваиваете указатель типа int / float, что не совсем верно.

Попытка:

// if the result is an int:
NSNumber *randomNumber = [NSNumber numberWithInt: (arc4random() % [array count])];

// if the result is a float: 
NSNumber *randomNumber = [NSNumber numberWithFloat: (arc4random() % [array count])];
...