在iOS上NSUInteger
是unsigned int
,在OSX上是unsigned long
。如何制作类似
NSLog(@"Array has %d elements.",[array count]);
在没有警告的情况下在两个平台上编译?我当然可以使用#ifdef #else #endif
构造,但这将添加4行代码。我也可以将返回值强制转换为unsigned int。有更短的解决方案吗?
答案 0 :(得分:17)
如何投射到两者中的较大者?
NSLog(@"Array has %ld elements.",(unsigned long)[array count]);
在iOS中没有警告,我认为这是OSX中的无操作。
答案 1 :(得分:-1)
如何投射到两者中的较大者?
NSLog(@"Array has %ld elements.",(unsigned long)[array count]);
No warning in iOS, and I think it's a no-op in OSX.