Tag: 魔术

NSFetchedResultsController并获得分组的权利

我有以下问题。 我有一个由NSFetchedResultsController支持的UITableview。 它应该显示让我们说一个项目,文件夹和文件。 没有比这更大的等级。 所以一个项目有几个文件夹,并有几个文件。 现在我的表格视图应该显示这些文件,按文件夹分组。 所以我认为我的提取请求的谓词只是: [NSPredicate predicateWithFormat:@"folder.project = %@", self.project]; 然后我会使用MagicalRecord来创build一个NSFetchedResultsController: [File fetchAllGroupedBy:@"folder.name" withPredicate:sectionPredicate sortedBy:@"folder.name" ascending:YES]; 这基本上与一个大问题的工作…如果文件夹中没有文件,我不会得到该文件夹​​的一部分(我需要!!!!) 所以我需要的是tableview也显示空文件夹的部分标题: Folder A File 1 File 2 Folder B Folder C File 3 我可以做到这一点没有NSFetchedResultsController,但我喜欢它处理插入/删除行和部分如此好,它观察到的变化… Thx帮忙,干杯,Georg

NSFetchedResultsController调用didChangeObject删除而不是更新

这是代码,我通过魔法logging保存模型: MagicalRecord.saveWithBlock({ (localContext) -> Void in var localNotification = CDNotification.MR_findFirstByAttribute("notificationID", withValue: notification.notificationID, inContext: localContext) as CDNotification localNotification.readNumber = NSNumber(bool: true) }) 上面的代码被调用后,删除被调用而不是更新: func controller(controller: NSFetchedResultsController, didChangeObject object: AnyObject, atIndexPath indexPath: NSIndexPath, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath) { switch type { case NSFetchedResultsChangeType.Insert: self.tableView.insertRowsAtIndexPaths([newIndexPath], withRowAnimation: .Fade) case NSFetchedResultsChangeType.Update: if let cell = self.tableView.cellForRowAtIndexPath(indexPath){ self.configureCell(cell as TableViewCell, […]