Ошибка привязки библиотеки iOS с указателем objective-c?

#xamarin.forms #xamarin.ios

Вопрос:

1.в библиотеке objective-c есть параметр указателя

 (CLLocationCoordinate2D* coords)
 

но сгенерированный код не имеет указателя.

это должен быть массив, но в сгенерированном коде это не так.

параметр CLLocationCoordinated2D должен быть массивом.

как это исправить? введите описание изображения здесь

url-адрес проблемы: https://github.com/xamarin/Xamarin.Формы/вопросы/14468

Ответ №1:

Попробуйте код ниже

    //ApiDefinition.cs
    [Static][Export ("polylineWithCoordinates:count:")][Internal]
 MGLPolyline PolylineWithCoordinates (IntPtr coords, nuint count);

// Extra.cs
public partial class MGLPolyline
{
    public static unsafe MGLPolyline PolylineWithCoordinates(CLLocationCoordinate2D[] coords)
    {
        MGLPolyline line = null;

        fixed(void* arrPtr = coords)
        {

            IntPtr ptr = new IntPtr(arrPtr);
            line = MGLPolyline.PolylineWithCoordinates(ptr, 2);   
        }

        return line;
    }
}
 

Комментарии:

1. Да, рад, что могу помочь.

2. Чжу, спасибо тебе . поздоровайся с ЛеонЛу и Колексом