我需要将NSUInteger转换为size_t吗?

时间:2010-09-17 11:21:09

标签: iphone objective-c ipad

如果我有以下代码:

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

1 个答案:

答案 0 :(得分:3)

NSUInteger不是一个对象(它是32位上unsigned int的typedef或64位上的unsigned long; NSNumber,但是,它是一个对象),所以试图在它上面调用unsignedIntValue可能会导致崩溃。你可以直接传递它。