NSInteger を NSNumber オブジェクトにキャストすることは可能ですか?
関数に引数として渡す必要があるため、UIImageView オブジェクトのタグを NSNumber オブジェクトに変換する必要があります。
NSInteger を NSNumber オブジェクトにキャストすることは可能ですか?
関数に引数として渡す必要があるため、UIImageView オブジェクトのタグを NSNumber オブジェクトに変換する必要があります。
はオブジェクトではなく、組み込み型の単なるエイリアスであるため、キャストできません。次のようにNSInteger
、いつでもNSNumber
から新しいオブジェクトを作成できます。NSInteger
NSNumber *myNum = @(myNsIntValue);
またはコンパイラの以前のバージョンでは、使用
NSNumber *myNum = [NSNumber numberWithInteger:myNsIntValue];
これはより正しい答えであり、予期しないエラーは発生しません。
NSNumber *myNum = [NSNumber numberWithInteger:myNsIntValue];
ドキュメントが言ったので:
「numberWithInteger: 指定された値を含む NSNumber オブジェクトを作成して返し、NSInteger として扱います。」
「numberWithInt: 指定された値を含む NSNumber オブジェクトを作成して返し、signed int として扱います。」