在 iOSNSUInteger
上是unsigned int
,在 OSX 上是unsigned long
. 我怎样才能做出像这样的打印声明
NSLog(@"Array has %d elements.",[array count]);
在没有警告的情况下在两个平台上编译?我当然可以使用一个#ifdef #else #endif
构造,但这会添加 4 行代码。我还可以将返回值转换为无符号整数。有更短的解决方案吗?
一个演员到两者中的较大者怎么样?
NSLog(@"Array has %ld elements.",(unsigned long)[array count]);
iOS 中没有警告,我认为这在 OSX 中是无操作的。
一个演员到两者中的较大者怎么样?
NSLog(@"Array has %ld elements.",(unsigned long)[array count]);
No warning in iOS, and I think it's a no-op in OSX.