将“double”发送到不兼容类型“id _Nullable”的参数
Posted
技术标签:
【中文标题】将“double”发送到不兼容类型“id _Nullable”的参数【英文标题】:Sending 'double' to parameter of incompatible type 'id _Nullable' 【发布时间】:2021-07-13 23:58:24 【问题描述】:所以我无法理解这个错误。
我有一个具有这些属性的对象
@property (nonatomic, readwrite) double width;
@property (nonatomic, readwrite) double height;
当我创建 NSSdictionary 时,将它们添加到其中
if (config.width)
properties[@"height"] = config.height;
if (config.height)
properties[@"height"] = config.height;
我收到以下错误
向不兼容类型“id _Nullable”的参数发送“double”
如果我是正确的,输入id
是否等同于任何?其中包括double
。另外,如果存在,我正在设置值?
【问题讨论】:
【参考方案1】:如果我是正确的,类型 id 是否等同于任何?其中包括双
但你是不正确的。 id
等价于任何 object(NSObject 子类)。 double
不是对象;这是一个原始的。
【讨论】:
我再次为您提供apeth.com/iosBook/ch01.html。它是免费阅读的,它教你 Objective-C。学习不比摔跤更好吗?【参考方案2】:以防万一有人想知道我是如何修复它的,我做了
[NSNumber numberWithDouble:config.height];
【讨论】:
以上是关于将“double”发送到不兼容类型“id _Nullable”的参数的主要内容,如果未能解决你的问题,请参考以下文章
将“void”发送到不兼容类型“UIViewController”的参数
initWithStyle:CGRectZero 将“const CGRect”发送到不兼容类型的参数