菜鸟教程小白 发表于 2022-12-12 09:43:32

ios - NSPredicate 和丹麦字母 å 给出错误的结果


                                            <p><p>丹麦语只有 3 个非标准字符:<code>å</code>、<code>ø</code> 和 <code>æ</code>。</p>

<p>当我尝试使用以下谓词搜索我的 <code>Core Data</code> 实体时:</p>

<pre><code>name CONTAINS &#34;ø&#34; // correct results
name CONTAINS &#34;æ&#34; // correct results
name CONTAINS &#34;å&#34; // wrong results - with &#39;å&#39; and &#39;a&#39;
</code></pre>

<p>前 2 个谓词正常工作,但最后一个谓词不能正常工作。结果中同时包含“å”和“a”字母。</p>

<p>只有这一个字母有什么特别之处?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我建议您将查询字符串设为小写并且不要使用 作为谓词语句的一部分,这既是为了优化核心数据,也是为了返回正确的结果。 </p>

<p>工作示例:</p>

<pre><code>NSArray *ar = @[@&#34;å&#34;,@&#34;a&#34;,@&#34;åa&#34;];
NSPredicate *predicate = ;
NSArray *filteredArray = ;
NSLog(@&#34;Results: %@&#34;,filteredArray); // which returns (å,åa)
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - NSPredicate 和丹麦字母 å 给出错误的结果,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23496187/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23496187/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - NSPredicate 和丹麦字母 å 给出错误的结果