Как использовать мост для CLLocationCoordinate2D
Я пытаюсь добавить CLLocationCoordinate2D[] в NSMutableArray и отправить его в качестве параметра. Но (__bridge id) вылетает приложение. Конструктивное преобразование в id является проблемой. Может ли кто-нибудь, пожалуйста, дайте мне знать, как использовать это, пожалуйста.
Координаты CLLocationCoordinate2D [1000];
координаты [индекс] --- все координаты, добавленные к нему в цикле.
NSMutableArray *coorArray = [NSMutableArray array];
[coorArray addObject:(__bridge id)(coordinates)]; crashes here
2 ответа
Использование:
NSMutableArray *coorArray = [NSMutableArray array];
[coorArray addObject:[NSValue valueWithPointer:coordinates]];
Затем, когда вы хотите получить массив структуры:
CLLocationCoordinate2D coordinates[] = [coorArray objectAtIndex:0].pointerValue;
Массив A C не является объектом, поэтому он не может быть соединен.
Вы должны посмотреть на +[NSValue valueWithBytes:objCType:]
не (__bridge) актерский состав. Мост для других вещей.
например:[NSValue value:&coordinate withObjCType:@encode(CLLocationCoordinate2D)];
Я думаю, что возможно также закодировать весь массив