2014-01-22 4 views
0

У меня есть класс, который наследует от UIViewController:Наследование от класса, который наследует от UIViewController (Xamarin и C#)

public class A : UIViewController { 

    public A():base("A",null){ 
     //implementation 
    } 

    //Also it has the ViewDidLoad() and DidReceiveMemoryWarning(), etc. 
} 

Теперь у меня есть класс B, унаследованный от A:

public class B : A { 

    public A():base(){ 
     //implementation 
    } 

    //Also it has the ViewDidLoad() and DidReceiveMemoryWarning(), etc. 
} 

Тогда я создать экземпляр класса B:

B b = new b(); 

Но когда появляется экран, он бросает

«Не удалось найти селектор setCancelButton: на iOS.B»

Таким образом, вопрос: как я могу получить доступ к элементам на класс наследует от UIViewController (пункт в .xib) из класса ребенка?

ответ

1

Вы должны поставить атрибут каждого класса регистрирующий их на Objective-C:

[Register("A")] 
public class A : UIViewController { } 

[Register("B")] 
public class B : A { } 
+0

К сожалению, я думаю, что я не объяснил проблему достаточно ясно. Во-первых, это C# над Xamarin (не Objective-C). Во-вторых, по элементам я не уточнил, что это элементы в пользовательском интерфейсе (.xib). В-третьих, я думаю, что эти Регистры ... включены Xamarin на .designer.cs –

Смежные вопросы