2010-09-17 64 views
1

如果我有以下代碼:我需要將NSUInteger轉換爲size_t嗎?

NSUInteger i, count = [pages count]; 
for (i = 0; i < count; i++) { 
    Page* page = (Page *)[pages objectAtIndex:i]; 
    [page setPageNumber:[i unsignedIntValue]]; 
} 

PageInfo.pageNumber是爲size_t。

是否仍然需要使用[i unsignedIntValue]或直接指定i

回答

3

NSUInteger不是一個對象(它是在32位或unsigned long在64位爲unsigned int一個typedef; NSNumber,但是,是一個對象),因此試圖在其上調用unsignedIntValue可能會導致崩潰。你可以直接傳入它。

+0

嗯,是的,我現在看到警告,當我嘗試調用unsignedIntValue。奇怪的Xcode的自動完成,以表明這是一個有效的電話。好吧。謝謝! – Altealice 2010-09-17 11:51:35