1

我必须打印一个本地化的字符串,并传递一个参数。

我用:

 NSString *myMsg = [[NSString alloc] 
   stringByAppendingFormat:NSLocalizedString(@"MyKey", @""), aString];
 [MyViewController updateMyMessage:myMsg];
 [myMsg release];

在 Localizable.strings 中,我使用:"MyKey" = "My message says: %@";

编辑:

它可以工作,使用以下代码:

NSString *myMsg = [NSString stringWithFormat:NSLocalizedString(@"MyKey", @""), aString];
 [MyViewController updateMyMessage:myMsg];

但是,我想知道以前的代码有什么问题。

4

1 回答 1

1

弗兰,

stringByAppendingFormat 追加到现有字符串。由于 myMsg 尚未初始化,第一个示例不起作用。

您可以参考: http: //developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html并确保您使用的是创建或初始化字符串的方法。

希望有帮助,

瑞安

于 2011-03-23T14:53:34.407 回答