2013-12-11 1 views
0

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

Вот мой код:

mapVC.coordinate.latitude=[[tempArray objectAtIndex:9] doubleValue]; 

и вот мой ответ:

(
    17, 
    TGB, 
    Ahmedabad, 
    "SG Highway", 
    Dover, 
    Georgia, 
    388306, 
    12345, 
    "www.tgb.com", 
    "37.23909",//latitude 
    "-122.34567",//longitude 
    "Dec 6, 2013 5:11:15 PM" 
) 
+0

что тип широты и координат? –

+0

CLLocationCoordinate2D – vivek

+0

Ответ на этот вопрос может быть ответом на ваш вопрос: http://stackoverflow.com/questions/7074405/expression-is-not-assignable-problem-assigning-float-as-sum-of-two-other -fl – tilo

ответ

1

Вы должны дать определение вашего объекта ячейки и его свойства.

Вы также должны описать свой граф объектов. Я понимаю, что это массив, содержащий словарь, и что ключ «широта» в этом внутреннем словаре содержит NSNumber или строку?

Угадайте, что свойство c1 вашего объекта ячейки имеет тип CLLocationCoordinate2D.

Если у вас есть свойство, которое является структурой, вы не можете изменить одну часть структуры. Другая проблема: если свойство c1 вашей ячейки является CLLocationCoordinate2D, это скалярный тип. Ваша структура объекта (массив, который содержит словарь?) Не может напрямую содержать скалярное значение. Это должно было бы быть NSNumber или (как другой плакат предложил) NSString)

Вам придется переписать так:

CLLocationCoordinate2D coordinate = cell.c1; 
coordinate.latitude = [[[tempArray objectAtIndex:9] objectForKey:@"latitude"] doubleValue]; 
cell.c1 = coordinate; 
Смежные вопросы