zer*_*rds 4 uisegmentedcontrol ios
使用UISegmentedControl,我收到了标题中为此代码的最后一行建议的错误.
- (IBAction)segmentAction:(id)sender
{
//NSLog(@"segmentAction: selected segment = %d", [sender selectedSegmentIndex]);
NSArray *speeds = @[@1.25, @1.5, @2.0];
speed = [speeds objectAtIndex:[sender selectedSegmentIndex]];
}
Run Code Online (Sandbox Code Playgroud)
宣言speed是NSInteger speed;.
你能帮忙解决这个问题吗?
Gab*_*lla 15
你要分配NSNumber *一个NSInteger.
请记住,NSArray存储对象,这@1.25是一个简写[NSNumber numberWithFloat:1.25]
将其更改为
speed = [[speeds objectAtIndex:[sender selectedSegmentIndex]] integerValue];
Run Code Online (Sandbox Code Playgroud)
或者使用更好的语法
speed = speeds[sender.selectedSegmentIndex].integerValue;
Run Code Online (Sandbox Code Playgroud)
另外我认为你想要的是speed一个float,而不是一个NSInteger.例如,您不能将1.25分配给a NSInteger.
| 归档时间: |
|
| 查看次数: |
15078 次 |
| 最近记录: |