使用MagicalRecord,我试图用特定的 clientNumber 来获取记录,这是一个NSInteger(定义为int16作为数据类型)。
这是我的代码行,我收到错误:
ClientInfo *clientSelected = [ClientInfo MR_findFirstByAttribute:@"aClientNumber" withValue: clientNumber inContext:localContext];
更新:这是MR_findFirstByAtytribute:
的定义MR_findFirstByAttribute:(NSString *) withValue:(id)
这是我得到的错误:
Implicit conversion of NSInteger (aka int) is disallowed with ARC
对于我的生活,我没有看到什么是错的。 ClientInfo定义为
@interface ClientInfo : NSManagedObject
答案 0 :(得分:25)
withValue
的参数类型是id
(指针)。 NSInteger
是标量值(不是对象),不能隐式转换为指针值。
这纯粹是猜测,但是从NSNumber
创建NSInteger
可能会有效:
NSNumber *val = [NSNumber numberWithInteger:clienNumber]
ClientInfo *clientSelected = [ClientInfo MR_findFirstByAttribute:@"aClientNumber" withValue:val inContext:localContext];
答案 1 :(得分:0)
根据您对方法的定义,我们期待id
并且您传递的是NSInteger
又名int