我的代碼在我的Mac OS X應用程序下面一行:的NSLog給我這是不可能糾正的警告
NSLog(@"number of items: %ld", [urlArray count]);
我也得到了警告:「格式指定型‘長’但參數的類型爲'NSUInteger'(又名 '無符號整型')」
但是,如果我我的代碼更改爲:
NSLog(@"number of items: %u", [urlArray count]);
我得到警告:
格式指定鍵入「無符號整型」,但參數的類型是「NSUInteger」(又名「無符號長」)
於是我將其更改爲
NSLog(@"number of items: %u", [urlArray count]);
,但我得到警告: 格式指定鍵入'無符號長',但參數類型'NSUInteger'(又名'無符號整數')
我如何設置我的NSLog,因此它不會產生警告?如果我遵循Xcode的建議,我只能進入修改格式說明符的無限循環,但警告永遠不會消失。
這似乎相當不必要的,但它確實明確了警告。 – Jackson
不知道它是否有所作爲,但應該與格式說明符相同。所以(無符號長)將是%lu,或者(長)將是%ld –
@darren它確實有所作爲,不這樣做是未定義的行爲。 – 2012-11-13 06:35:35