0

Konichiwa の皆さん、私のプロジェクトにある大量のローカライズされた xml を読み取るための非標準的な手順に頭を悩ませています。

私の目的は、これらすべてのファイルを再帰的に読み取り、coredata sqlite db をフィードして、同じ DB のさまざまな言語ベースのバージョンを作成することです。

まず、次のような昔ながらの手法を試しました。

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 が表示され、それ以上のものは表示されないため、まったく運がありません。

そのため、ローカライズされていない xml を入手する方法があるかどうか疑問に思っていました。

前もって感謝します。

疑問や質問が見知らぬ人ではない場合は、私に連絡してください。

-k-

4

1 に答える 1

0

わかりました、解決しました!

問題への答えを探している人のために、ここに解決策があります:

    NSArray *onlyXMLs = [[NSBundle mainBundle] pathsForResourcesOfType:@"xml" inDirectory:nil forLocalization:@"English"];

目的の言語を運ぶパラメーターは、プロジェクト内の目的のファイルを含む .plist ディレクトリと常に同じでなければならないことに注意してください。

そのため、必要なものが入った English.plist がある場合は、渡す名前文字列でもある必要があります (上記の例のように)。それ以外の場合は、en.plist を扱っている場合は @" en" が文字列になります。

それだけです、それだけです。

于 2011-10-20T14:05:04.993 に答える