저는 CoreData를 처음 접했고 자습서 몇 개를 읽었지만 공손한 것으로 나타났습니다. 대부분의 자습서는 CoreData에서 가져 오기를 중심으로 테이블 뷰를 채 웁니다.Swift의 CoreData에서 가장 최근 항목 가져 오기
다음은 CoreData에서 데이터를 설정하는 방법입니다. 모든 종류의 일을 제외하고 Double
있는 여기 NSDate
let appDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
let managedObjectContext = appDelegate.managedObjectContext
let entityDescription = NSEntityDescription.entityForName("Meditation", inManagedObjectContext: managedObjectContext!)
let meditation = NSManagedObject(entity: entityDescription!, insertIntoManagedObjectContext: managedObjectContext!)
meditation.setValue(settings.minutes, forKey: "length")
meditation.setValue(settings.warmup, forKey: "warmup")
meditation.setValue(settings.cooldown, forKey: "cooldown")
meditation.setValue(NSDate(), forKey: "date")
// fetch stuff from CoreData
var request = NSFetchRequest(entityName: "Meditation")
var error:NSError? = nil
var results:NSArray = managedObjectContext!.executeFetchRequest(request, error: &error)!
for res in results {
println(res)
}
내가 결과를 얻을 수 있도록 할 노력하고있어 무엇이다,하지만 난 내가 아는 등, .date
, .minutes
같은 것들을 액세스 할 수 없습니다 해요 또한 마지막 항목도 적절하게 가져 오지 못했습니다. 객체에 대한 속성을 먼저 인쇄하려고했습니다.
내가 가장 최근의 객체를 가져 오는 방법에 대한 도움말을 사랑뿐만 아니라 그것의 표시 줄은
감사 속성!
마틴, 이것은 대단한 답변입니다. 고맙습니다. 나는 정말로 도움이되는 서브 클래스를 놓치고 있었다. 한 가지 :'& error' 오류 포인터와 관련된'managedObjectContext.save (& error)'줄에 오류가 발생했습니다 –
@ZackShapiro : 가져 오기 요청과 마찬가지로'var error : NSError? '가 필요합니다 , 나는 그것을 코드에 추가했다. –
업데이트 해 주셔서 감사합니다. 이 모든 것을 실행 한 후에,'.length'와'.date' 값을 출력하고, 중단 점에 도달하고,'CoreData : warning : 엔티티 'Meditation'클래스에 'Meditation'클래스를로드 할 수 없음을 알려줍니다. . 클래스를 찾을 수 없습니다. 대신 기본 NSManagedObject를 사용하십시오. –