菜鸟教程小白 发表于 2022-12-12 18:49:01

ios - NSPredicate 通过选择带有 Beginswith 的键来获取 NSDictionary 的值


                                            <p><p>我必须管理这个丑陋的 xml 结构。
如何查询所有以/包含“Key”开头的 Key-Tag?</p>

<p>Xml-结构:</p>

<pre><code>&lt;Data&gt;
    &lt;Rec&gt;
       &lt;Key1&gt;0001&lt;/Key1&gt;
       &lt;Key2&gt;0015&lt;/Key2&gt;
       &lt;Key3&gt;0002&lt;/Key3&gt;
       &lt;Key4&gt;0022&lt;/Key4&gt;
       ...            
    &lt;/Rec&gt;
    &lt;Rec&gt;
       &lt;Key1&gt;0015&lt;/Key1&gt;
       &lt;Key2&gt;0022&lt;/Key2&gt;
       &lt;Key3&gt;0002&lt;/Key3&gt;
       &lt;Key4&gt;0001&lt;/Key4&gt;
       ...            
    &lt;/Rec&gt;
    ...
&lt;/Data&gt;
</code></pre>

<p>Rec-Object-Structure:</p>

<pre><code>@interface Rec : NSObject
@property (nonatomic, copy) NSMutableDictionary *content;
@end
</code></pre>

<p>这是我在 Key1 上选择的代码:</p>

<pre><code>predicateRecs = ;

];
</code></pre>

<p><strong>recs</strong> 是一种 NSArray 类型,包含 Rec - 对象。
%K 需要能够执行以下操作: <code>content.@allKeys BEGINSWITH %@ == %@</code> ,@"Key", @"0001"`</p>

<p>我想获取所有带有值的键,例如0001
我该怎么做?</p>

<p>谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我会根据您的评论使用子查询:</p>

<pre><code>predicateRecs = beginswith %@ AND SELF[$k] == %@).@count &gt; 0&#34;, @&#34;Key&#34;,@&#34;0001&#34;];
</code></pre>

<p>Dave DeLong 是谓词大师:
<a href="http://www.mactech.com/sites/default/files/Dave_DeLong-Power_Of_Predicates.pdf" rel="noreferrer noopener nofollow">http://www.mactech.com/sites/default/files/Dave_DeLong-Power_Of_Predicates.pdf</a> </p>

<p>当然还有:
<a href="https://stackoverflow.com/a/5570510/312312" rel="noreferrer noopener nofollow">https://stackoverflow.com/a/5570510/312312</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - NSPredicate 通过选择带有 Beginswith 的键来获取 NSDictionary 的值,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/21766548/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/21766548/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - NSPredicate 通过选择带有 Beginswith 的键来获取 NSDictionary 的值