반응형

Hacking with Swift 사이트의 강좌 번역본입니다.

 

[원문 : https://www.hackingwithswift.com/quick-start/swiftui/how-to-filter-core-data-fetch-requests-using-a-predicate]

 

How to filter Core Data fetch requests using a predicate

 

Core Data 가져오기 요청은 UIKit으로 할 수 있었던 것처럼, SwiftUI에서 조건자(predicates)를 사용할 수 있으며, @FetchRequest 프로퍼티 래퍼(wrapper)로 predicate 프로퍼티를 제공하면 됩니다.

 

Core Data와 SwiftUI 설정 지침을 따르는 경우, 이미 관리 객체 컨텍스트가 SwiftUI environment에 추가되어 있습니다. 

 

그것이 완료되면, 하나 이상의 정렬 조건과 조건자(predicate)을 전달해서 엔티티들 중 하나에 대한 가져오기 요청을 만들 수 있습니다. 이러한 조건자(predicates)는 SwiftUI 없이 사용하는 것과 같은 NSPredicate의 인스턴스 이며, 일반적으로 사용하는 것과 같은 다양한 문자열 작업을 사용할 수 있다는 의미입니다.

 

예를들어, 설정 지침으로 예제 데이터를 사용해서 다음과 같이 조건자(predicate)를 만들 수 있습니다.

NSPredicate(format: "name == %@", "Python")

 

그것은 다른 데이터는 무시하면서, Python에 대한 상세 정보만 보여줄 것입니다.

 

다음과 같이 가져오기 요청 내부에서 사용할 수 있습니다.

@FetchRequest(
    entity: ProgrammingLanguage.entity(),
    sortDescriptors: [
        NSSortDescriptor(keyPath: \ProgrammingLanguage.name, ascending: true),
    ],
    predicate: NSPredicate(format: "name == %@", "Python")
) var languages: FetchedResults<ProgrammingLanguage>

 

@FetchRequest는 표준 Core Data 조건자(predicates)를 사용하기 때문에, 복합 조건자(predicates)를 만들 수 있습니다.

반응형
Posted by 까칠코더
,