gpt4 book ai didi

ios - 如何使用 RestKit 发送 bool 值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:51:06 26 4
gpt4 key购买 nike

我的 RestKit 应用程序在发送它的核心数据对象时失败,因为生成的 JSON 具有 10 作为 bool 属性值,而不是 true 或 false。服务器不喜欢它。

转换发生在 JSONKit.m 的第 2723 行,其中代码执行如下操作:

if (object == (id)kCFBooleanTrue) { /*... yield "true" */ }
else if (object == (id)kCFBooleanFalse) { /*... yield "false" */ }
/* else yield integer */

此处比较失败。我的核心数据对象显然将其真实值存储为 [NSNumber numberWithInt:1] 而不是 [NSNumberWithBool:YES] (我很惊讶地发现它们会导致不同的对象,尽管调试器都打印为 1)。

请注意,我将 bool 属性设置为:

myManagedObject.boolFieldValue = myUISwitch.on;

其中boolFieldValue是MOgenerator定义的属性,setter为:

-(void) setBoolFieldValue:(BOOL)value_ {
[self setBoolField:[NSNumber numberWithBool:value_]];
}

有没有办法强制1值的输出为真?

最佳答案

我正在做一个基于 Restkit 的项目,我也在使用 Core Data 集成。我也有 bool 字段,但没有这样的问题。

  • 对于我的 NSManagedObject,我的属性被定义为一个 NSNumber。
  • 在 Core Data 中,相应的属性被定义为 Integer16(不记得为什么我没有选择 Boolean,但那可能是因为我遇到了和你一样的问题)
  • 为了设置我的 bool 值,我使用了类似的东西:

[myObject setValue:[NSNumber numberWithBool:value] forKey:@"booleanAttribute"];

关于ios - 如何使用 RestKit 发送 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10875601/

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