使用 objective-c 指针绑定 iOS 库错误?
Binding iOS Library error with objective-c pointer?
1.there是objective-c库中的一个指针参数
(CLLocationCoordinate2D* coords)
但是生成的代码没有指针。
它应该是一个数组,但在生成的代码中它不是。
参数CLLocationCoordinated2D
应该是一个数组。
如何解决?
问题 url 是 https://github.com/xamarin/Xamarin.Forms/issues/14468
试试下面的代码
//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.there是objective-c库中的一个指针参数
(CLLocationCoordinate2D* coords)
但是生成的代码没有指针。
它应该是一个数组,但在生成的代码中它不是。
参数CLLocationCoordinated2D
应该是一个数组。
如何解决?
问题 url 是 https://github.com/xamarin/Xamarin.Forms/issues/14468
试试下面的代码
//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;
}
}