2017-02-04 49 views
0

我正在爲iOS開發一個待辦事項列表應用程序,我正在使用CoreData來保存列表和待辦事項。我在集合視圖中顯示它,該集合視圖從鏈接到CoreData實體的數組獲取數據。問題是,當你創建一個列表或待辦事項時,它會保存但會進入屏幕底部,我認爲這是因爲當'.saveContext'運行時,被保存的字符串將會到達數組的末尾(基本上附加它),有沒有辦法指定它來保存到數組的開始?有點像myArray.insert(「你好」,網址爲:0),而不是myArray.append(「你好」)如何將字符串保存到CoreData數組的起始處

+0

您應該爲您的item對象添加'createdDate'或類似的日期屬性,然後您可以按此屬性進行排序。 – Paulw11

回答

0

你不能改變的CoreData節省訂單,但您也可以叫reverse()CoreData的取陣列上先顯示最後一項。

self.yourArray = try! context.fetch(request) 
self.yourArray.reverse() //Now last entry will show first 
0

當你正在做一個讀取請求獲得清單或待辦事項,你可以指定一個NSSortDescriptor以任何順序取出的對象進行排序。您可以在該鍵集排序在列表和待辦事項(當你創建對象將此屬性設置爲NSDate())一creationDate屬性,然後:

let sortDescriptor = NSSortDescriptor(key: "creationDate", ascending: false) 
let request = ...// your NSFetchedRequest 
request.sortDescriptors = [sortDescriptor] 

祝你好運!

相關問題