我在返回NSInteger时收到了警告

时间:2012-01-19 06:32:14

标签: iphone xcode4.2

我在返回NSInteger时收到警告。我正在使用UITableView的内置方法numberOfRowsInSection。当我返回它时,它给了我一个警告,即(与指针对话不兼容的整数,从结果类型为'NSInteger *'(又名'int *')的函数返回'NSInteger'(又名'int')。

我正在使用此代码。

-(NSInteger *)tableView: (UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSInteger row=10;
return row;
}

3 个答案:

答案 0 :(得分:8)

编译器是对的!您的方法返回指向NSInteger的指针。这是你想要的签名:

- (NSInteger)tableView:(UITableView *)table // << 'NSInteger', not 'NSInteger *'
 numberOfRowsInSection:(NSInteger)section
{
…

NSInteger不是objc对象,而是intlong

答案 1 :(得分:4)

此方法应返回NSInteger,而不是NSInteger *(指向NSInteger的指针)

您只需要修复返回类型:

-(NSInteger)tableView: (UITableView *)tableView numberOfRowsInSection:(NSInteger)section {...}

答案 2 :(得分:-1)

你可以像这样直接回来

 -(NSInteger *)tableView: (UITableView *)tableView numberOfRowsInSection:(NSInteger)section
 {
   return 10;
 }

OR

将值存储在数组中并返回该数组的Count。