菜鸟教程小白 发表于 2022-12-13 08:44:55

ios - NSFetchedResultsController 不诉诸内容更改


                                            <p><p>我试图弄清楚为什么我的 <code>NSFetchedResultsController</code> 实例在内容更改时似乎忽略了它的 <code>sortDescriptor</code>。调用了所有委托(delegate)方法等,但是当我正在排序的相关属性发生更改时,我只收到一个 <code>NSFetchedResultsChangeUpdate</code> 更改通知,并且内容没有发生:</p>

<p>以下是我创建 <code>NSFetchedResultsController</code> 实例的方式:</p>

<pre><code>NSManagedObjectContext *context = ;

_fetchRequest = [ initWithEntityName:NSStringFromClass()];
_fetchRequest.sortDescriptors = @[
   
];
_fetchRequest.entity = ;

_fetchedResultsController = [ initWithFetchRequest:_fetchRequest managedObjectContext:context sectionNameKeyPath:@&#34;sectionTitle&#34; cacheName:nil];
_fetchedResultsController.delegate = self;
</code></pre>

<p>排序后的属性如下所示:</p>

<p> <img src="/image/6fbqP.png" alt="enter image description here"/> </p>

<p>以下是我更新所述属性的方式:</p>

<pre><code>entity.lastOpened = ;

;
</code></pre>

<p>有什么想法吗?这让我很困惑。</p>

<p><strong>编辑:</strong></p>

<p>我做了更多的测试,问题似乎是这样的:<code>NSFetchedResultsController</code> 只是费心对原始的<code>sortDescriptors</code> 进行任何处理。如果我在 <code>NSFetchedResultsController</code> 初始化之后更改了请求的 <code>sortDescriptors</code> 或 <code>predicate</code>(并且我正在调用 <code>performFetch:</code>),我的委托(delegate)方法被调用,但 <code>fetchedObjects</code> 不会自行解决。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>根据评论,如果您动态更改获取请求的谓词或排序描述符,FRC 似乎会感到困惑。如果您需要改变它们,则使用新的谓词和排序描述符实例化一个全新的 FRC。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - NSFetchedResultsController 不诉诸内容更改,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31104173/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31104173/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - NSFetchedResultsController 不诉诸内容更改