2017-12-18 12 views
0

코어 데이터의 Transformable 속성에서 필터링을 수행하려고합니다. Transformer 값은 실제로 NSAttributedString입니다. 다음과 같은 술어를 설정하려고했습니다.핵심 데이터 : NSPredicate를 Transformable에서 어떻게 사용할 수 있습니까?

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(attributedString CONTAINS[cd] %@), _searchString]; 

작동하지 않았습니다. 그것은 확실히 String 속성과 함께 작동합니다.

나는 그것을 하루 종일 봤지만 아직 행운이 없다. 누군가 그 방법을 말해 줄 수 있습니까? 감사!

+0

'CoreData'의 'Transformer'에 익숙하지 않지만 NSATAttributedString을 CoreData에 어떻게 저장 했습니까? 'somethingAsAttributedString.string CONTAINS [c] ...' – Larme

+0

[CoreData에 NSMutableAttributedString을 저장할 수있는 간단한 방법] (https://stackoverflow.com/questions/20648398)의 복제본이있을 수 있습니다./simple-way-to-store-nsmutableattributed-in-coredata) – djromero

답변

1

코어 데이터의 Transformer 속성에 대한 필터링을 수행하고 싶습니다.

핵심 데이터 "변환 가능"속성을 의미하는 경우 실제로는 그렇게 할 수 없습니다. 변환 된 속성은 단순히 코어 데이터에 저장 될 때 바이트 모음입니다. 영구 저장소에있는 특성 문자열이 아닙니다. 단지 1과 0입니다. 결과적으로 속성이 지정된 문자열 내용을 기준으로 필터링 할 수 없습니다.

코어 데이터가 문자열로 저장하기 때문에 문자열이 작동합니다. 그러나 변형 가능한 속성은 그런 식으로 작동하지 않습니다. 이 속성과 함께 사용할 수있는 유일한 술어는 nil 또는 nil이 아닌 값을 검사하는 술어입니다.

+0

감사합니다. 핵심 데이터에 리치 텍스트 컨텐트를'Transformable' 속성으로 저장하고 있습니다. 사용자가 입력 한 핵심 단어로 리치 텍스트 컨텐트를 필터링하고 싶습니다. 해결 방법이 있습니까? – steveluoxin

+0

변환 가능하지 않음, 아니요. –