18

MagicalRecord を使用して、NSInteger (データ型として int16 として定義) である特定のclientNumberを持つレコードを取得しようとしています。

これは、エラーが発生している私のコード行です。

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
4

2 に答える 2

32

のパラメーターの型withValueid(ポインター) です。NSIntegerスカラー値 (オブジェクトではない) であり、ポインター値に暗黙的に変換することはできません。

これは単なる推測ですが、NSNumberfromを作成するNSIntegerとうまくいく場合があります。

NSNumber *val = [NSNumber numberWithInteger:clientNumber];
ClientInfo *clientSelected = [ClientInfo MR_findFirstByAttribute:@"aClientNumber" withValue:val inContext:localContext];
于 2012-12-19T17:19:41.673 に答える
-1

メソッドの定義に従って、それは期待しており、あなたはそれを別名idで渡しますNSIntegerint

于 2012-12-19T17:59:54.833 に答える