我有一個iOS應用程序,其核心數據模型我試圖遷移到新版本。核心數據遷移期間的值表達式導致異常結果
Core Data模型的v2中有一個新字段(photoFilename),它可以使用v1字段(dateInSeconds)爲現有條目生成值並附加'.jpg'。
例如
version 1 | version 2
field data | field data
========================================|==============================
dateInSeconds (Integer 32) 401760341 | dateInSeconds (Integer 32) 401760341
| photoFilename (String) 401760341.jpg
我已經創建了一個核心數據映射模型(下面部分示出),並且數據庫出現遷移。不幸的是,創建的photoFilename在'.jpg'前面沒有給出正確的數字。例如,與蘋果的文檔here似乎非常有限纔可能返回而不是「401760341.jpg」 275263312.jpg「
現在承認,我從來沒有用過這樣的映射。
在其他地方的研究看來,'價值表達'是一種NSExpression,可以複製用於測試目的。
NSExpression *expr = [NSExpression expressionWithFormat:@"FUNCTION('', 'stringByAppendingFormat:', '%d.jpg', 401760341)"];
id result = [expr expressionValueWithObject:nil context:nil];
NSLog(@"result: %@", result);
但是,這種評估方式與'.jpg'前面的不正確數字類似。
有人能指出爲什麼獲得的評估結果不是我的預期結果嗎?