NSPredicate * predicate = [NSPredicate predicateWithFormat : @ "salesRepName == % @", salesName]; [요청 setPredicate : 조건 자]; 이것은 내가 가져 오는 것입니다. 테이블에서 이름을 가져오고 문자열을 사용하지 않고 직접 대문자로 변환 할 수 있습니까?코어 데이터에서 이름을 가져 와서 대문자로 변환
0
A
답변
0
아니요, 불가능합니다. 핵심 데이터 가져 오기 요청에서 계산 된 결과를 가져 오는 유일한 방법은 NSExpressionDescription
과 [NSExpression expressionForFunction:…]
, 을 사용하며 uppercaseString
함수를 지원하지 않습니다. 따라서 값을 가져온 후 값을 대문자로 변환해야합니다.
0
NSExpression
는 다음과 같은 지원 uppercase:
을 수행
let batchUpdateRequest = NSBatchUpdateRequest(entityName: "Person")
batchUpdateRequest.predicate = NSPredicate(value: true)
// Convert name to uppercase
batchUpdateRequest.propertiesToUpdate = ["name": NSExpression(forFunction: "uppercase:", arguments: [NSExpression(forKeyPath: "name")])]
batchUpdateRequest.resultType = .UpdatedObjectIDsResultType
try! self.context.executeRequest(batchUpdateRequest)
:
NSExpression(forFunction: "uppercase:", arguments: [NSExpression(forKeyPath: "name")]
나는 레코드를 가져 오는없이 대문자로 모든 이름을 변환 할 수 NSBatchUpdateRequest
성공적으로 아래 등으로 사용했습니다