我的目的是递归读取所有这些文件,以便提供coredata sqlite db来创建同一个DB的各种基于lang的版本。
首先,我尝试过一种老式的技术,比如:
NSString *bundleRoot = [[NSBundle mainBundle] bundlePath];
NSArray *dirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:bundleRoot error:nil];
NSArray *onlyXMLs = [dirContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self ENDSWITH '.xml'"]];
for (NSString *tString in onlyXMLs) {
/* stuff */
}
没有运气,因为它会弹出我项目中所有非本地化的xml而已。
所以我想知道是否有办法让那些大坝没有本地化的xmls。
提前感谢。
如果你有疑问或问题不是陌生人,请给我留言。
-k -
答案 0 :(得分:0)
对于那些寻求问题答案的人来说,这就是解决方案:
NSArray *onlyXMLs = [[NSBundle mainBundle] pathsForResourcesOfType:@"xml" inDirectory:nil forLocalization:@"English"];
记住带有所需语言的参数 必须始终与包含项目中所需文件的.plist目录相同。
所以,如果你有一个包含你需要的东西的English.plist,那也必须是要传递的名字串(如上例所示),否则如果你正在处理一个en.plist ,@“en”应为字符串。
就是这样,就是这样。