Objective-C iOS 10 使用 NSUserDefaults 时格式字符串未使用数据参数
Objective-C iOS 10 Data argument not used by format string when using NSUserDefaults
我有 iOS 8 的工作代码,当我想将它转换为 Xcode 8 时,我得到了警告行
Data argument not used by format string
我的代码清楚为什么给出这个警告?
NSString *name1 =[[NSUserDefaults standardUserDefaults] stringForKey:@"name1"];
NSString *name2 =[[NSUserDefaults standardUserDefaults] stringForKey:@"name2"];
username = [NSString stringWithFormat:@"%@%@", @"", name1,name2];
哪里会出错?
问题是你传递了 3 个参数而不是 2 个,错误或不小心你添加了 @""
作为第一个甲酸盐说明符,所以这里 name2
是格式说明符的额外参数,这就是原因您收到此警告。
应该是:
username = [NSString stringWithFormat:@"%@%@", name1,name2];
而不是
username = [NSString stringWithFormat:@"%@%@", @"", name1,name2];
我有 iOS 8 的工作代码,当我想将它转换为 Xcode 8 时,我得到了警告行
Data argument not used by format string
我的代码清楚为什么给出这个警告?
NSString *name1 =[[NSUserDefaults standardUserDefaults] stringForKey:@"name1"];
NSString *name2 =[[NSUserDefaults standardUserDefaults] stringForKey:@"name2"];
username = [NSString stringWithFormat:@"%@%@", @"", name1,name2];
哪里会出错?
问题是你传递了 3 个参数而不是 2 个,错误或不小心你添加了 @""
作为第一个甲酸盐说明符,所以这里 name2
是格式说明符的额外参数,这就是原因您收到此警告。
应该是:
username = [NSString stringWithFormat:@"%@%@", name1,name2];
而不是
username = [NSString stringWithFormat:@"%@%@", @"", name1,name2];