指针和整数之间的比较

时间:2011-04-07 10:32:18

标签: iphone objective-c

为什么这不起作用?

for (int *i = 0; i < (int)[[[data objectAtIndex:[indexPath row]] valueForKey:@"pictures"] count]; i++) {

    NSLog(@"another picture to add");

}

它在第一行给出了一个警告,说“指针和整数之间的比较”。我真的不知道如何解决这个问题,代码正在执行,它不会崩溃但是没有任何东西被记录到控制台。

6 个答案:

答案 0 :(得分:3)

您将i声明为指针:int *i = 0。应该是int i = 0

答案 1 :(得分:2)

i是指向整数的指针(因为*)。可能不是你想要的。尝试

for (int i = 0; i <     // etc ....

答案 2 :(得分:2)

您已将i声明为int *而不是int。为什么呢?

答案 3 :(得分:2)

为什么你使用int *i,我想你应该只使用int i。 试试吧 祝你好运

答案 4 :(得分:2)

你已经声明了int * i,这意味着我将使用

来保存某个变量的地址
i < (int)[[[data objectAtIndex:[indexPath row]] 

声明你试图与同样强制转换为int的值进行比较:)这就是它发出警告的原因..只使用int i。

答案 5 :(得分:1)

for (int i = 0; i < (int)[[[arRef objectAtIndex:[indexPath row]] valueForKey:@"pictures"] count]; i++) {

    NSLog(@"another picture to add");

}