Что такое ошибка в этом коде? - PullRequest
0 голосов
/ 24 августа 2011

Я добавляю значение в массив с использованием этого синтаксиса

[Listoflatlong addObject: sObject.startLocLat];

, но выдает ошибку, которая является ошибкой: несовместимый тип для аргумента 1 из addObject:.Я добавляю double значение sObject.startLocLat в массив Listoflatlong.Как убрать эту ошибку?

Ответы [ 3 ]

3 голосов
/ 24 августа 2011

Если вы работаете с числовым примитивом , вы должны добавить NSNumber объект к NSMutableArray, например, чтобы добавить double, используйте +numberWithDouble: метод класса:

[Listoflatlong addObject:[NSNumber numberWithDouble:sObject.startLocLat]];

В соответствии с соглашением Objective C, вы должны назвать свой экземпляр изменяемого массива некапитализированным, то есть listOfLatLong.Классы становятся заглавными.Переменные экземпляра не (не должны).

0 голосов
/ 24 августа 2011

Вы добавляете двойное значение напрямую, тогда как синтаксис явно запрашивает у вас объект.Попробуйте использовать

[NSNumber numberWithDouble:<#(double)value#>]

Надеюсь, это поможет.

0 голосов
/ 24 августа 2011

Если sObject.startLocLat является double, то для сохранения его в массиве необходимо использовать NSNumber:

[Listoflatlong addObject:[NSNumber numberWithDouble:sObject.startLocLat]];

Затем вы можете использовать [[Listoflatlong objectAtIndex:0] doubleValue], чтобы получить его позже.

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