我们需要格式化一个字符串,但是对于某些本地化,我们不会输出所有参数。但是,输出比传递的参数更少的参数似乎不起作用:
NSString *string = [NSString stringWithFormat: @"%2$@", @"<1111>", @"<22222>"];
NSLog(@"String = %@", string);输出
String = <1111>尽管我输出了第二个参数。这是一个bug还是一个特性?
发布于 2016-01-07 14:45:53
根据相关行业标准,IEEE规范:
当使用编号参数规范时,指定Nth参数要求从第一个参数到(N-1)th的所有前导参数都在格式字符串中指定。
换句话说,在使用第二个参数之前,必须在字符串格式化程序中的某个地方使用第一个%1$@参数--因此,它根本不是一个bug。
https://stackoverflow.com/questions/34657641
复制相似问题