Emi*_*mil 1 iphone objective-c switch-statement uipickerview
我正在尝试简化一个需要大量空间和时间来编写的switch语句.查看代码,你会明白的.如果没有,我稍后会解释.
// When row is selected
- (void)pickerView:(UIPickerView *)pickerTimer didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
switch (row) {
case 0:
NSLog(@"It obviously worked.0");
break;
case 1:
NSLog(@"It obviously worked.1");
break;
case 2:
NSLog(@"It obviously worked.2");
break;
case 3:
NSLog(@"It obviously worked.3");
break;
case 4:
NSLog(@"It obviously worked.4");
break;
case 5:
NSLog(@"It obviously worked.5");
break;
case 6:
NSLog(@"It obviously worked.6");
break;
default:
NSLog(@"It did kindof work.NIL");
break;
}
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以简化这个吗?只是喜欢,
NSLog(@"It did work! %@", row);
Run Code Online (Sandbox Code Playgroud)
为了记录,我尝试了,它没有用.
整数的格式说明符是%d- %@指定一个对象.为了安全起见,你还应该将NSInteger强制转换int为printf()(因此你要编写@"%d", (int)row),因为NSInteger的大小不能保证是%d说明符所printf()期望的大小.
顺便说一下,您不需要为每个case语句重复它.如果不休息,控制权将落到下一个案例中.
像查克说你可以做......
NSLog(@"It did work! %d", row);
Run Code Online (Sandbox Code Playgroud)
......或者你可以把它变成幻想并把它变成一个物体......
NSLog(@"It did work! %@", [NSNumber numberWithInt:row]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5292 次 |
| 最近记录: |