핵심 데이터에서받은 데이터를 사전 순으로 정렬 할 수있게되었습니다. 이제 각 문자의 섹션에 사용자 이름을 입력하겠습니다. 이 작업을 수행하는 가장 쉬운 방법은 NSFetchedResultsController를 사용하는 것이지만 이해할 수는 없습니다 (Swift를 다루는 자습서가 거의 없음).Swift - 섹션의 코어 데이터 정렬
그래서 내 코드는 다음과 같습니다
override func viewDidAppear(animated: Bool) {
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext!
let freq = NSFetchRequest(entityName: "Message")
let en = NSEntityDescription.entityForName("Message", inManagedObjectContext: context)
let fetchRequest = NSFetchRequest(entityName: "Message")
let sortDescriptor = NSSortDescriptor(key: "username", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
myList = context.executeFetchRequest(fetchRequest, error: nil) as [Model]
tv.reloadData()
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return myList.count
}
내가 기대했다 누군가가 NSFetchedResultsController를 통해 되거 나 내 방식에서 얻을 수 있도록 할 수있다. 내가 완전히 잘못 아니에요 경우 나는 "캐시 이름"을 알아낼 수 있지만
는, 초기화는 다음과 같은 :
let resultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: myList, sectionNameKeyPath: "username", cacheName: <#String?#>)
진행 방법에 대한 어떤 제안을 감상 할 수있다.
[NSFetchedResultsController 클래스 설명서] (https://developer.apple.com/library/ios/documentation/CoreData/Reference/NSFetchedResultsController_Class/index.html#//apple_ref/occ/instm/NSFetchedResultsController/initWithFetchRequest)를 읽었습니까? : managedObjectContext : sectionNameKeyPath : cacheName :)'cacheName' 매개 변수를 설명합니다. 그 중 어느 부분이 의미가 없습니까? –
@TomHarrington 이것은 실제로 간단한 대답이 아닙니다. 그것은 일시적인 핵심 데이터, NSManagedObject 서브 클래 싱, 그리고 마지막으로 NSFetchedResultsController를 사용하여 ... 그리고 캐시가 필요하지 않습니다. 나는 대답을 쓰는 것을 고려하고있다. 그러나 그것은 reeaaally long 일 것이다. ... –
"일시적인"핵심 데이터 란 무엇인가? –