ios编程 – 格式string不使用的数据参数
当我运行下面的代码时,我得到了Data argument not used by format string
错误Data argument not used by format string
的Data argument not used by format string
:
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { NSString *colour = ([colourArray objectAtIndex:row]); NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:(colour) forKey:@"colour"]; NSLog(@"NSString =", colour); NSLog(@"NSUserDefaults =", [defaults objectForKey:@"colour"]); }
我得到两个NSLog
行的错误。 另外,这里是日志说:
2011-10-25 09:01:50.260 Random[35636:b303] NSString = 2011-10-25 09:01:50.260 Random[35636:b303] NSUserDefaults =
谢谢,亚瑟
NSLog(@"NSString = ", colour); NSLog(@"NSUserDefaults =", [defaults objectForKey:@"colour"]);
是有问题的
应该
NSLog(@"NSString = %@", colour); NSLog(@"NSUserDefaults = %@", [defaults objectForKey:@"colour"]);
在这种情况下,格式说明符是用于打印object
的%@
。 要打印数字,你可以使用类似%d
东西。 在这里看完整的文档。
从@debuggerman回答是绝对正确的。 但是,如果您使用[defaults setObject:colour forKey:@"colour”];
而不是[defaults setObject:(colour) forKey:@"colour"];
则可以改进代码[defaults setObject:(colour) forKey:@"colour"];
请注意,我删除了对象colour
的括号。