我正在尝试在我的应用程序上实现地图功能。但是,我希望将纬度和经度从存储在核心数据中的对象传递到地图中。但是,当我启动应用程序时,我在设置对象的初始值时遇到问题。到目前为止,我已经尝试了两种不同的方法,每种方法收到的错误都是“将‘double’发送到不兼容类型‘id’的参数。任何帮助将不胜感激。
NSManagedObject *room = [NSEntityDescription insertNewObjectForEntityForName:@"Room" inManagedObjectContext:context];
double myLatitude = -1.228087;
double myLongitude = 52.764397;
[room setValue:@"H001" forKey:@"code"];
[room setValue:@"This is a description" forKey:@"roomDescription"];
[room setValue:myLatitude forKey:@"longitude"];
[room setValue:myLatitude forKey:@"latitude"];
NSManagedObject
属性必须是对象,但是double
是原始 C 类型。解决方案是将双打包裹在NSNumber
:
[room setValue:[NSNumber numberWithDouble:myLongitude] forKey:@"longitude"];
[room setValue:[NSNumber numberWithDouble:myLatitude] forKey:@"latitude"];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)