核心数据sorting描述符与NSDate,iOS与斯威夫特
我正在尝试根据date属性过滤核心数据对象。
这是我现在的代码:
func getFetchedResultController(selectedEntity: NSString){ let appDelegate : AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate let managedObjectContext: NSManagedObjectContext = appDelegate.managedObjectContext! let fetchRequest = NSFetchRequest() let entity = NSEntityDescription.entityForName(selectedEntity as String, inManagedObjectContext: managedObjectContext) fetchRequest.entity = entity fetchRequest.fetchBatchSize = 20 let date = NSDate() let sectionSortDescriptor = NSSortDescriptor(key: "timeStamp < %@",date) let sortDescriptors = [sectionSortDescriptor] //, secondSortDescriptor] fetchRequest.sortDescriptors = sortDescriptors let aFetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: managedObjectContext, sectionNameKeyPath: nil, cacheName: nil) aFetchedResultsController.delegate = self self.fetchedResultsController = aFetchedResultsController var error: NSError? = nil if !self.fetchedResultsController.performFetch(&error) { abort() } print(fetchedResultsController.fetchedObjects?.count ?? 0) }
但是我收到一个错误:
let sectionSortDescriptor = NSSortDescriptor(key: "timeStamp < %@",date)
我应该如何改变这个sorting描述符以获得在“timeStamp”属性上具有较旧或较新date的对象?
谢谢。
要获取满足某些条件的所有对象,不需要sorting描述符而是谓词 ,例如:
let predicate = NSPredicate(format: "timeStamp < %@", date) fetchRequest.predicate = predicate
您需要一个sorting描述符来获取指定顺序的对象,例如:
let sectionSortDescriptor = NSSortDescriptor(key: "timeStamp", ascending: true) let sortDescriptors = [sectionSortDescriptor] fetchRequest.sortDescriptors = sortDescriptors
Swift 3.0这对我来说没有问题
let fec:NSFetchRequest = YourEntity.fetchRequest() let sortDescriptor = NSSortDescriptor(key: "type", ascending: true) fec.sortDescriptors = [sortDescriptor] let items = try! context.fetch(fec)
- iOS CoreData与自身的反向关系
- 如何使用当前的NSPersistentStore方法在本地和iCloud中创build可共享的Core Data .sqlite备份
- 如何保证主机应用程序和扩展使用的共享应用程序容器中的核心数据存储中的唯一条目?
- 归档不成功,由于错误代码-1,虽然我可以做build立和安装在我的设备与发展概况
- 核心数据中删除大量(10.000+)对象的最有效方法是什么?
- 在unit testing中CoreData类错过匹配
- 使用核心数据swift ios将实体的所有属性获取到tableview中的行中的标签
- iOS 8 Swift – 保存多个实体的数据
- 是否有可能以编程方式生成核心数据结构?