는 현재, 내가, 신속한
CoreDataStack.sharedIntance.backgroundContext.performBlock({
let fetchRequest = NSFetchRequest(entityName: "Schedule")
let sortDescriptor = NSSortDescriptor(key: "startTime", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
var result = [Schedule]()
mainContext.performBlockAndWait { [unowned self] in
do {
result = try mainContext.executeFetchRequest(fetchRequest) as! [Schedule]
success?(result)
} catch {
print("error is \(error)")
}
}
})
를 수행하여 핵심 데이터를 가져 오는 일을하고 내가 오류를 재산
참조 무엇입니까 폐쇄에 mainContext 내가 솔루션의 일부 그들이을 추가하는 것을 알 수
명시 적 메이크업 캡처 의미에 명시 적으로 자기를 필요로블록의 속성입니다.
보유주기를 피하기 위해 weak or unowned
을 작성하는 것이 좋습니까? 그리고이 상황을 처리하는 가장 좋은 방법은 무엇입니까?
먼저 Swift 3의 핵심 데이터가 크게 변경되었습니다. 프로덕션 코드를 작성하지 않은 경우이를 사용하여 학습하는 것이 좋습니다. 둘째, 자기에 대한 언급은 '자기'를 요구한다. 모든 폐쇄에서. – jjatie
고맙습니다. 그러나 자아 사용에 대한 자세한 내용을 알려주시고 누출 메모리를 유발합니까? – tonytran
'self'란 무엇입니까 (예 :'self.mainContext')? View Controller와 같은 UIKit 객체입니까? – CouchDeveloper