gpt4 book ai didi

ios - 核心数据迁移期间的值表达式导致异常结果

转载 作者:行者123 更新时间:2023-12-01 16:47:16 25 4
gpt4 key购买 nike

我有一个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'前面没有给出正确的数字。例如,它可能返回“275263312.jpg”而不是“401760341.jpg”

现在,坦白地说,我以前从未使用过这种映射,Apple文档 here似乎非常有限。

在其他地方进行研究,似乎“值表达式”是NSExpression的一种,可以将其复制以进行测试。
NSExpression *expr = [NSExpression expressionWithFormat:@"FUNCTION('', 'stringByAppendingFormat:', '%d.jpg', 401760341)"];
id result = [expr expressionValueWithObject:nil context:nil];
NSLog(@"result: %@", result);

但是,这与“.jpg”前面的错误数字类似地评估。

有人可以指出为什么获得的评估结果不是我的预期结果吗?

最佳答案

我仍然不确定导致问题的确切原因,但是在我的映射模型中,通过将其转换为NSString遇到了以下问题

或对于那些跟随使用NSExpression的人

NSExpression *expr = [NSExpression expressionWithFormat:@"FUNCTION('', 'stringByAppendingFormat:', '%@.jpg', CAST(401760341, 'NSString') )"];
id result = [expr expressionValueWithObject:nil context:nil];
NSLog(@"result: %@", result);

关于ios - 核心数据迁移期间的值表达式导致异常结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18986065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com