0
在我们当前的实现中,我们想要更改字符串参数(Push notification loc-args)并添加新参数。但我们希望我们旧版本的用户仍然使用参数#3,对于新用户,我们想要用户参数#4。因此,在我们新的实施,我们有以下代码:
NSString *format = @"%[email protected], %[email protected] ,%[email protected]";
NSArray *arg = @[@"Argument 1", @"Argument 2",@"Argument 3",@"Argument 4"];
NSString *ouptput = [NSString stringWithFormat:format, arg[0], arg[1], arg[2], arg[3]];
输出:参数2,参数1,参数3
我们期待它成为
参数2,参数1,参数4
我们怎样才能达到Argument 4
到位。的stringWithFormat:
注意任何其他的选择:苹果锁屏推送通知是正确的(Argument 2, Argument 1 ,Argument 4
),但不stringWithFormat:
处理它的方式
“旧版本”?什么?如果它是一个应用程序,那么旧版本如何看到这些变化? – trojanfoe
其实参数是通过推送通知发送的,所以如果我们改变参数,'旧版本'的应用程序将获得更新的参数列表。只有格式在应用程序中。 –
请参阅http://stackoverflow.com/questions/2944704/advanced-localization-with-omission-of-arguments-in-xcode:*“当使用编号参数说明时,指定第N个参数**需要**全部在格式字符串中指定了从第一个到第(N-1)个主要参数。“* - 如果在格式字符串中省略第三个参数,则行为未定义。 –