当iOS中的一个对象类型需要传入Unity时,比如一个model需要作为参数传入Unity 那么我们首先将该model转换为id类型
id targetModel = models;
然后将id类型转换成void* 类型
void *p = (__bridge void *)targetModel;
将*p传入delegate回调中(回调中该参数对应c#的类型为Intptr)
在C#层,将传入的Intptr指针(views)转化为List类型
List<natview> adList = new List<natview>();
for (int i = 0; i < arrayCount; i++)
{
adList.Add(new natview(views, i));
}
listener.load(adViewList);
natview.cs的实现
private List<IntPtr> adViewArray;
internal natview(IntPtr View, int index)
{
if (adArray == null)
{
adArray = new List<IntPtr>();
}
this.adArray.Add(View);
}