簡體   English   中英

注冊UITableViewController在loadView方法中導致異常

[英]Registering UITableViewController causes an exception in loadView method

我在Xamarin中使用UITableViewController類進行實驗,發現在Visual Studio中創建新的ViewController並將基類從UIViewController更改為UITableViewController ,應用程序崩潰,出現以下異常。

加載ViewController時導致的未處理異常

我的ViewController基本上是這樣的:

[Register("MyViewController")]
public class MyViewController: UITableViewController
{
    public override void DidReceiveMemoryWarning()
    {
        base.DidReceiveMemoryWarning();
    }

    public override void ViewDidLoad()
    {
        base.ViewDidLoad();
    }
}

從ViewController中刪除[Register("MyViewController")]批注后,它突然起作用。 我已經嘗試過刪除xib和/或設計器文件,而沒有刪除,但是解決此異常的唯一方法是刪除注釋。

所以我的問題是,該注解究竟在做什么,在調用loadView方法時是什么導致異常? 請注意,如果我繼承自UIViewController ,則不會引發任何異常。

這些 問題似乎相關,但是它們正在談論我沒有使用的Interface Builder,因為我正在使用Visual Studio用代碼編寫UI。

Register屬性告訴編譯器如何將C#類與其XIB中的對應對象綁定在一起。 即使您說要用代碼創建UI,聽起來也好像使用的模板同時創建了一個類和一個相應的XIB文件。 如果您不使用XIB,則可能只想使用通用的“空類”模板。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM