2013-12-12 42 views

回答

0

不,這是不可能的。在Core Data提取請求中獲取計算結果的唯一方法是使用NSExpressionDescription[NSExpression expressionForFunction:…], ,並且不支持uppercaseString函數。所以你必須在取回它們之後將值 轉換爲大寫。

0

NSExpression不支持uppercase:象下面這樣:

NSExpression(forFunction: "uppercase:", arguments: [NSExpression(forKeyPath: "name")]

我已經成功地NSBatchUpdateRequest象下面這樣使用它的所有名稱轉換爲大寫不取的記錄:

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) 
相關問題