Tag: 瞬态

iOS:NSFetchResultsControllersorting瞬态属性(Swift)

举例来说,我有一个名为Tasks的Entity其中包含一个名为date的Attribute和一个填充此Tasks Entity的UITableView 。 这是我目前看到的: 7-Dec-14 09:30 7-Dec-14 11:00 7-Dec-14 13:30 7-Dec-14 16:00 现在我们假设当前时间实际上是7-12月14日12:00,所以前2行已经过去了,而后面的2行却是未来的。 我想将它们分成UITableView组。 我发现我可以在实体上创build一个Transient Property,如下所示: var dateGroup: NSNumber { get { if date.compare(NSDate()) == NSComparisonResult.OrderedAscending { return 0 } else { return 1 } } } 这工作,现在显示UITableView如下,当我设置sectionNameKeyPath:“dateGroup”: Group 0 7-Dec-14 09:30 7-Dec-14 11:00 Group 1 7-Dec-14 13:30 7-Dec-14 16:00 我的麻烦是我怎么能得到UITableView实际显示这样的结果(所以未来任务上面的过期的任务): Group 1 7-Dec-14 13:30 […]

TableView节更新依赖于CoreData的瞬态属性更改

我正在尝试开发一个时间表应用程序。 我有TableViewController它显示当天的类。 在viewDidLoad()我用NSFetchedResultsController获取类: let fetchRequest = NSFetchRequest(entityName: "Lessons") let predicate = NSPredicate(format: "startsday = '\(dateFormatter.stringFromDate(NSDate()))'", NSDate()) fetchRequest.predicate = predicate let sortDescriptorStarts = NSSortDescriptor(key: "starts", ascending: true) let sortDescriptorTitle = NSSortDescriptor(key: "title", ascending: true) fetchRequest.sortDescriptors = [sortDescriptorStarts, sortDescriptorTitle] fetchRequest.fetchBatchSize = 30 fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: moc, sectionNameKeyPath: "sectionIdentifier", cacheName: nil) fetchedResultsController.delegate = self fetchedResultsController.performFetch(nil) 而当我设置sectionNameKeyPath:“sectionIdentifier”(这是一个瞬态属性),他们被分为三组“过去”,“现在”,“下一步”取决于当前的时间。 […]

核心数据,“按瞬态sorting”的解决方法

假设我有一个名为Event的核心数据实体,它表示周期性(年度)事件。 每个事件都有一个“date”属性。 我需要将此事件呈现给按“下一次发生date”sorting的用户。 这个属性当然取决于当前的date,因此应该被标记为暂时的 :将它存储在数据库中没有意义。 但是,如您所知,您无法通过核心数据中的瞬态属性来查询sorting。 是否有一个聪明的方法来保持这个属性暂时的,仍然有我的核心数据sorting? 我不想获取然后自己sorting,但是我也想避免在数据库中存储这个瞬态信息。

iOS – 如何刷新/更新核心数据瞬态属性?

我正在使用核心数据,NSFetchedResultsController UITableView,具有瞬态NSDate属性。 我有这个作为一个瞬态属性的主要原因是,我的UITableView条目被放入基于NSDate的部分,但可以在date更改时在部分之间移动。 到目前为止,它似乎工作很好,但它只更新/刷新(我真的是新的,所以我不知道我是否使用正确的术语,对不起!),当我要么closures应用程序,并杀死它从多任务处理,或通过Xcode重新运行。 如果我不这样做,项目不会改变,不会放在正确的部分。 有没有办法手动让它刷新,所以用户不需要这样做,让它运行正确? 谢谢!

自定义核心数据SectionNameKeyPath

我是新的核心数据,并试图找出如何在我的sectionNameKeyPath中创build一个自定义sectionNameKeyPath 。 我有一个名为acctPeriod属性的托pipe对象。 这是一个NSString 。 我想创build基于该字段的前4个字符的部分。 前4个字符代表会计期间的年份,不需要保存。 我经历了这个网站,看到关于瞬态属性的post,但我似乎无法让他们工作。 基本上我想这个,然后为我的sectionNameKeyPath分配sectionNameKeyPath 。 @dynamic periodYear; -(NSString *)periodYear { return [self.acctPeriod substringToIndex:4]; } 任何帮助,将不胜感激。 **更新:使用马丁R答案,我能够得到它按预期工作。 – (NSFetchedResultsController *)fetchedResultsController { if (_fetchedResultsController != nil) { return _fetchedResultsController; } NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; // Edit the entity name as appropriate. NSEntityDescription *entity = [NSEntityDescription entityForName:@"Billing" inManagedObjectContext:self.managedObjectContext]; [fetchRequest setEntity:entity]; // […]