Swift:如何返回Class <uitableviewdatasource>?

时间:2016-03-07 08:08:50

标签: ios swift

如何在Swift中定义协议:(

@protocol Protocol <NSObject>

- (Class<UITableViewDataSource>)generateObject;

@end

编辑:如果我想在OC中定义一个函数:

- (UIViewController<UITableViewDataSource>)generateObject;

快速的风格如下,对吧?

func generateObject() -> UITableViewDataSource

我认为这种方式忽略了一些类型检查......有没有更好的方法在swift中执行此操作?

4 个答案:

答案 0 :(得分:0)

func generateObject() -> UITableViewDataSource

答案 1 :(得分:0)

它应该在swift中看起来像这样,

protocol Protocol: NSObjectProtocol {
    func generateObject() -> UITableViewDataSource
}

答案 2 :(得分:0)

试试这个:

protocol Protocol: NSObjectProtocol {
    func generateObject() -> UITableViewDataSource.Type
}

答案 3 :(得分:0)

您以与类,结构和枚举非常类似的方式定义协议:

protocol Protocol: NSObjectProtocol 
{
    func generateObject() -> UITableViewDataSource
}

有关详情,请参阅官方Apple Doc