1

首先,我对 Objective-c 和 xcode 很陌生,所以它只是缺乏基础知识。

但基本上需要将 an 扩展UITableViewController到 anUIViewController 或 to 但以另一种方式我需要一个接口(标头),它继承了我的实现,UIViewController但它是UITableViewController

为了实现这一点,我会在 C# 中做这样的事情:

@interface Keyboard_Field_Extensions_UIViewController : UIViewController 
@end

@interface Keyboard_Field_Extensions_UITableViewController : Keyboard_Field_Extensions_UIViewController, UITableViewController
@end

有什么办法可以解决这个问题objective-c吗?也许使用代表?但是怎么做?

4

2 回答 2

1

好吧,objective-c 中没有多重继承。委托或协议分别可以是一个选项或扩展现有类而不实现子类。(如果我没记错的话,这对 Objective-C 来说是独一无二的)

然而,一般来说,扩展或继承 UITableView 可能不是一个好主意,尽管它可以做到。您应该更详细地描述您想要在 UI 上实现的目标。那么你可能会得到比一般的“你可以使用协议/委托”更好的建议。

于 2013-01-10T08:36:29.877 回答
1

Objective C 没有多重继承,如 C++ 或 C# UITableViewController 不需要扩展到 UIViewController,因为它已经是 UIViewController(通过一些使用 tableview 的方法扩展)

它是继承链 -UITableViewController: UIViewController: UIResponder: NSObject

于 2013-01-10T08:38:12.927 回答