HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 期望类型NSNumber给定类型__NSCFString错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我收到核心数据错误,我无法弄清楚如何修复.

我基本上将对象的所有数据都拉出到字典中,将数据显示到表单中,并且某些字段允许编辑,然后尝试在提交时将数据存储回对象.

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

属性值不可接受的类型:property =“@R_925_10586@lLOCATIOns”;所需类型= NSnumber;给定type = __NSCFString;值= 7.

这是处理这个特定属性代码……

//grab the value from the property

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

    // store it BACk to the object
    _myObject.@R_925_10586@lLOCATIOns = [data objectForKey:@"@R_925_10586@lLOCATIOns"];

除了这两行外,没有太多的财产使用.它可以被修改,但不能被这个特定屏幕上的用户修改

解决方法

核心数据实体中的@R_925_10586@lLOCATIOns类型是否为整数,并且myObject.@R_925_10586@lLOCATIOns是NSString?如果是,您应该像这样设置核心数据:

[data SETVALue:[NSnumber numberWithInteger:[myObject.@R_925_10586@lLOCATIOns IntegerValue]] forKey:@"@R_925_10586@lLOCATIOns"];

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

- (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();
  }
}

promoJson的id对象是NSString

大佬总结

以上是大佬教程为你收集整理的ios – 期望类型NSNumber给定类型__NSCFString错误全部内容,希望文章能够帮你解决ios – 期望类型NSNumber给定类型__NSCFString错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。