http://www.cnblogs.com/karling/p/5033525.html
https://blog.csdn.net/a724765518/article/details/41893803
http://www.cnblogs.com/fortunely/p/4725982.html
不寫代碼了盟庞,補(bǔ)充幾點(diǎn):
- 不使用任何排序的話求摇,默認(rèn)按照先入先出順序,最早錄入的信息在查詢數(shù)組最開頭畜侦,如果想倒敘的話彻亲,把數(shù)組反向遍歷即可
- 并不通過條件類 NSPredicate 來排序
- 使用單獨(dú)的 NSFetchRequest 來排序封孙,排序使用的是創(chuàng)建的內(nèi)容比較
- coredata 沒有自動(dòng)id, 所以不需要用order by id這樣的想法來排序
根據(jù)時(shí)間排序
數(shù)據(jù)表key設(shè)置為 NSDate 類型即可
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"YourEntityName" inManagedObjectContext:yourContext];
NSPredicate *beginningPredicate = [NSPredicate predicateWithFormat:@"createdAt >= %@", beginningTime];
NSPredicate *endPredicate = [NSPredicate predicateWithFormat:@"createdAt <= %@", endTime];
request.predicate = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:beginningPredicate, endPredicate, nil]];
NSArray *results = [yourContext executeFetchRequest:request error:NULL];