XCode警告:初始化使得指针来自整数而没有强制转换(在尝试为NSNumber分配值时)

1 iphone xcode warnings nsnumber

在尝试开发小型iPhone应用程序时,我在Xcode中遇到警告.我在Xcode中得到了这段代码:

NSNumber*randomNumber = arc4random()%[array count];

如果我NSLog randomNumber,一切似乎都有效,但Xcode一直警告我,说:

初始化使得整数指针不带强制转换

必须有一些我不理解的东西.在此先感谢帮助我:)

NSS*_*Sec 6

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])];
Run Code Online (Sandbox Code Playgroud)