-1

我有一个看起来像这样的 plist:

<?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
        <!--
        Translations
         -->
        <plist version="1.0">
            <array>


        <dict>
            <key>English</key>  <string>Hello Mrs./Mr./Miss.</string>
            <key>French</key>  <string>Bonjour Madame / Monsieur / Mademoiselle.</string>
            <key>Spoken</key>  <string>Boh(n)-zhoor mah-dahme/ muh-syuhr/ mah-dah-mwa-sell.</string>
        </dict>

        <dict>
            <key>English</key>  <string>Excuse me.</string>
            <key>French</key>  <string>Pardon.</string>
            <key>Spoken</key>  <string>Par-doh(n).</string>
        </dict>

        <dict>
            <key>English</key>  <string>Do you speak English?</string>
            <key>French</key>  <string>Parlez-vous anglais?</string>
            <key>Spoken</key>  <string>Par - lay vooz ah(n)-glay?</string>
        </dict> 
</array>

我希望能够在 plist 中搜索“excuse”或“hello”等术语。有人知道如何在这样的 plist 中搜索术语的存在吗?

4

1 回答 1

0

首先将 plist 加载到内存中。你有一个字典数组,所以你应该使用NSArray

NSArray *translations = [[NSArray alloc] initWithContentsOfFile:filePath];

现在只需使用NSArray过滤方法来获得您想要的。

NSArray *matches = [translations filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self CONTAINS[cd] %@", searchTerm]];
于 2014-03-08T10:36:34.683 回答