iOS应用程序开发中的iOS:strings.xml等效吗?
在应用程序中,我使得我有很多巨大的string。 我不想将这些代码硬编码到我的代码中,因为它使代码难以忍受。 当我做了一个类似的android应用程序,这是一个简单的事情,在strings.xml中声明的string为
<string name="hello_world">Hello World!!</string>
并使用java文件访问它
getString(R.string.hello_world);
我如何在iOS上做这样的事情?
你可以把它们放到一个.plist
文件中,并使用下面的代码(它假定一个名为strings.plist
的文件已被复制到应用程序包中)加载它们:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"strings" ofType:@"plist"]; NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:filePath]; NSString *string1 = [dict objectForKey:@"string1"];
但是,如果您想将您的应用国际化,那么使用Apple的国际化和本地化技术可能是需要考虑的。
编辑 :你只需要加载该文件/字典一次,并保持整个应用程序的生命周期; 每个string访问不要使用上面的代码!