具有非唯一节名称的NSFetchedResultsController

时间:2017-02-10 06:47:17

标签: ios objective-c swift core-data nsfetchedresultscontroller

我正在使用以下代码初始化setTimeout(function(){ var filter_len = $('input[name^=\'filter\']:checked').length // alert(filter_len);return false; $("#auto_filter_values").empty(); if(filter_len>1){ /*$("#auto_filter_values").append('<div class="afr clearall">Clear All filters</div>');*/ } $('input[name^=\'filter\']:checked').each(function(element) { $("#auto_filter_values").append('<div class="afr fSbtn" id="fSfilter'+this.value+'" data-val="'+this.value+'">'+$(this).parent().text().replace(/\(([A-Za-z0-9 ]+?)\)/, '')+'<span class="fSc"></span></div>'); }); }, 100);

NSFetchedResultsController

这里的文章可以有相同的名称。所以self.fetchedResultsController = NSFetchedResultsController( fetchRequest: request, managedObjectContext: context, sectionNameKeyPath: "article.name",cacheName: nil ) article.name是非唯一的。在这种情况下,sectionNameKeyPath只有一个部分。

如何处理具有相同部分名称的多个部分?

1 个答案:

答案 0 :(得分:0)

对于sectionKeyPath,返回该节的UUID(article.articleId等)。然后当你在截面中显示标题的标题时,不要显示从fetchedResultsController(self.fetchedResultsController.sections[section].name)返回的命名,而是获取该部分中的第一个对象,并根据它确定你真正想要显示的内容( self.fetchedResultsController.sections[section].objects.firstObject.article.name)。