我有一个问题,在xcode上修复此问题不是没有为什么它发生它说 隐式转换失去整数精度'long'到'int'
[self newScheduleNotification:[ud objectForKey:dateKey] addNotifKey:[sw tag] ];
答案 0 :(得分:0)
如果将类型long
的整数值(L值)指定给类型为int
的变量(R值),则会出现此警告。这包括将类型为long
的参数传递给类型为int
的参数。可能你是在[sw tag]
那样做的。
“整数精度丢失”表示传递值的long
表达式可能具有int
目标无法表示的值。
答案 1 :(得分:0)
在notifKey
中将NSInteger
的类型更改为newScheduleNotification:addNotifKey:
。您传递的是NSInteger
,这是64位的long
和32位的int
,但您的方法是要求{{1} }。在两个地方使用int
将为您处理类型。您必须使用64位模拟器或设备。如果您使用的是32位SIM卡或设备,则会看到警告消失,因为您将NSInteger
传递给寻找int
的方法。