Параметр метода NSUInteger и вызов с использованием IndexPath.row выдают предупреждение для использования приведения типа - PullRequest
1 голос
/ 29 августа 2010

Я удивлен, что следующие вызовы приводят к предупреждению о приведении типа:

У меня есть класс MyClass со следующим методом:

- (id) initWithData:(NSUInteger)mNumber;

когда я вызываю этот метод, используя

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
   MyClass *lClass = [[MyClass alloc] initWithData:indexPath.row];
   ...

Я получаю предупреждение «Передача аргумента 1 в initWithData делает указатель из целого числа без приведения».

Когда я набираю «initWithData», вот так:

MyClass *lClass = [[MyClass alloc] initWithData:(NSUInteger)indexPath.row];

предупреждение остается неизменным, указывая, что я не указал причину сообщения. Кто-нибудь знает, где и почему я схожу с трассы?

Ответы [ 2 ]

1 голос
/ 29 августа 2010

Попробуйте переименовать -initWithData: в другие имена, например -initWithRowNumber:. Компилятор может путать его с -[NSData initWithData:], который принимает NSData * в качестве ввода, а не NSUInteger.

0 голосов
/ 29 августа 2010

Переименуйте initWithData в другое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...