Я получил предупреждение при возврате NSInteger - PullRequest
0 голосов
/ 19 января 2012

У меня предупреждение при возврате NSInteger. Я использую встроенный метод UITableView numberOfRowsInSection. Когда я возвращаю его, он выдает мне предупреждение, которое является (Несовместимое целочисленное значение для диалога указателя, возвращающего «NSInteger» (он же «int») из функции с типом результата «NSInteger *» (он же «int *»)).

Я использую этот код.

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

Ответы [ 3 ]

8 голосов
/ 19 января 2012

Компилятор прав!Ваш метод возвращает указатель на NSInteger.Вам нужна эта подпись:

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

NSInteger - это не объект objc, это int или long.

4 голосов
/ 19 января 2012

этот метод должен возвращать NSInteger, а не NSInteger * (указатель на NSInteger)

Вам просто нужно исправить тип возвращаемого значения:

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

0 голосов
/ 19 января 2012

вы можете напрямую вернуть вот так

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

ИЛИ

Сохранить значения в массиве и вернуть счетчик этого массива.

...