我的应用程序具有用于创建自定义视图控制器的类层次结构。自定义视图控制器类未在故事板的类菜单中列出
第一个类是AppViewController。它扩展了NSViewController并包含了所有视图控制器的通用方法,例如显示警报,从数据库中检索数据等等。它没有定义任何变量。
class AppViewController: NSViewController
{
...
}
下一个类是ListViewController和通用于所有的我的“名单”的意见。这些视图包含一个NSTableView,其中包含关联数据库表中所有记录的列表。它扩展了AppViewController并且符合通常的协议。
请注意,此类是通用的,因此它可以正确处理不同的视图和数据模型。
class ListViewController<Model: RestModel>: AppViewController,
NSWindowDelegate,
NSTableViewDataSource,
NSTableViewDelegate
{
...
}
ListViewController定义了一些变量,包括一个NSTableView的IBOutlet。该插座没有连接到故事板中的任何内容。计划是在运行时设置它。
ListViewController还定义了各种函数,包括viewDidLoad(),viewWillAppear(),一些特定于应用程序的函数等等。
最后一类特定于数据库模型和视图,在这种情况下是Customers视图。它扩展了ListViewController。
class Clv: ListViewController<CustomerMaster>
{
...
}
CustomerMaster是符合RestModel协议的具体类。
问题:
奇怪的是,最后一堂课,CLV,不至情节板中的自定义类显示:类下拉菜单,这意味着我不能将它指定为自定义类的我视图。
我想只是打字它,但导致运行时错误
未知类_TtC9Inventory3Clv在Interface Builder文件...
如果我删除<型号:RestModel >从ListViewController类定义,并从CLV类定义中移除< CustomerMaster>,以CLV类,然后出现在类菜单(当然,这并不能真正帮助,只是一个观察的)。
AppViewController和ListViewController都出现在该菜单中做。
我不知所措。
您已经自己解释了它。 Objective-C无法看到Swift泛型。 – matt