gpt4 book ai didi

ios - 所需类型 NSNumber 给定类型 __NSCFString 错误

转载 作者:可可西里 更新时间:2023-11-01 04:35:46 28 4
gpt4 key购买 nike

我遇到了一个核心数据错误,我不知道如何修复。

我基本上是将对象的所有数据提取到字典中,将数据显示到表单中,一些字段允许编辑,然后尝试在提交时将数据存储回对象。

但是,在设置所有新的/更新的值时我得到了错误

Not Acceptable 属性值类型:property = "totalLocations";所需类型 = NSNumber;给定类型 = __NSCFString;值 = 7。

这是处理这个特定属性的代码...

    //grab the value from the property

if (myObject.totalLocations)
[data setObject:myObject.totalLocations forKey:@"totalLocations"];

// store it back to the object
_myObject.totalLocations = [data objectForKey:@"totalLocations"];

除了这两行之外,没有太多的属性使用。它可以修改,但不能由用户在此特定屏幕上修改

最佳答案

你的核心数据实体中totalLocations的类型是Integer并且myObject.totalLocations是NSString吗?如果是,您应该像这样设置核心数据:

[data setValue:[NSNumber numberWithInteger:[myObject.totalLocations integerValue]] forKey:@"totalLocations"];

我设置托管对象的方式是这样的:

- (void)insertNewPromo:(NSDictionary *)promoJson
{
NSManagedObjectContext *context = [self.promoFetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.promoFetchedResultsController fetchRequest] entity];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];

// Checking if inappropriate data are in the JSON to avoid some crashes.
if ([[promoJson objectForKey:@"id"] isKindOfClass:[NSNull class]])
[newManagedObject setValue:nil forKey:@"id"];
else
[newManagedObject setValue:[NSNumber numberWithInteger:[[promoJson objectForKey:@"id"] integerValue]] forKey:@"id"];
...
...
NSError *error = nil;
if (![context save:&error])
{
if (DEBUG_ON == 1)
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}

promoJsonid 对象是一个 NSString

关于ios - 所需类型 NSNumber 给定类型 __NSCFString 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16086646/

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