2014-11-04 76 views
0

我有一個Xamarin-Objective C綁定項目(請看這裏:https://github.com/bbhsu2/XamarinAdMarvelBinding)。基本上,它的工作原理和我可以加載可點擊的廣告。Xamarin ObjC綁定回調不叫

所以我實現了我的ViewController類AdMarvelDelegate接口,但重要的實現的方法沒有得到所謂:

public class CategoryViewController : UITableViewController, IAdMarvelDelegate 
{ 
    /*Initializing stuff*/ 

    public void GetAdSucceeded() //not called 
    { 
     Console.WriteLine("succeeded!"); 
    } 

    public void GetAdFailed() //not called 
    { 
     Console.WriteLine("failed!"); 
     AppDelegate.Shared.AddAdBanner(); 
    } 
} 

有沒有人對爲什麼GetAdSucceeded和GetAdFailed不叫什麼建議嗎?在結合的項目,我有:

[Export("getAdSucceeded")] 
    void GetAdSucceeded(); 

    [Export("getAdFailed")] 
    void GetAdFailed(); 

我認爲是正確的

回答

1

如果AdMarvelDelegate對應的成員都是可選的(即他們沒有在綁定[Abstract]屬性),你需要這些方法的[Export]屬性:

public class CategoryViewController : UITableViewController, IAdMarvelDelegate 
{ 
    [Export ("getAdSucceeded")] 
    public void GetAdSucceeded() 
    { 
     Console.WriteLine("succeeded!"); 
    } 

    [Export("getAdFailed")] 
    public void GetAdFailed() 
    { 
     Console.WriteLine("failed!"); 
     AppDelegate.Shared.AddAdBanner(); 
    } 
}