當(dāng)iOS中的一個(gè)對(duì)象類(lèi)型需要傳入U(xiǎn)nity時(shí)殉了,比如一個(gè)model需要作為參數(shù)傳入U(xiǎn)nity 那么我們首先將該model轉(zhuǎn)換為id類(lèi)型
id targetModel = models;
然后將id類(lèi)型轉(zhuǎn)換成void* 類(lèi)型
void *p = (__bridge void *)targetModel;
將*p傳入delegate回調(diào)中(回調(diào)中該參數(shù)對(duì)應(yīng)c#的類(lèi)型為Intptr)
在C#層,將傳入的Intptr指針(views)轉(zhuǎn)化為L(zhǎng)ist類(lèi)型
List<natview> adList = new List<natview>();
for (int i = 0; i < arrayCount; i++)
{
adList.Add(new natview(views, i));
}
listener.load(adViewList);
natview.cs的實(shí)現(xiàn)
private List<IntPtr> adViewArray;
internal natview(IntPtr View, int index)
{
if (adArray == null)
{
adArray = new List<IntPtr>();
}
this.adArray.Add(View);
}