Как использовать мост для 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)];

Я думаю, что возможно также закодировать весь массив

Другие вопросы по тегам