Cocoa Programming for Mac OS X 3 – 3
156 ページのコードを入力してビルドすると,
int row = [a indexOfObjectIdenticalTo:p] ;
/…/〜.m:145:12: Implicit conversion loses integer precision: ‘NSUInteger’ (aka ‘unsigned long’) to ‘int’
最近は,C++ ばかりだったので int() でくくるとエラー.
int row = int([a indexOfObjectIdenticalTo:p]) ;
C の (int) とすれば OK.
int row = (int)[a indexOfObjectIdenticalTo:p] ;
indexOfObjectIdenticalTo を右クリックして「Jump to Definition」
- (NSUInteger)indexOfObjectIdenticalTo:(id)anObject;
さらに NSUInteger に飛ぶと,
#if __LP64__ || (…) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif
ソースの拡張子を m から mm に変更することによって,int ( … ) も可能となるみたい.