小编典典

如何使一个类符合Swift中的协议?

swift

在Objective-C中:

@interface CustomDataSource : NSObject <UITableViewDataSource>

@end

在Swift中:

class CustomDataSource : UITableViewDataSource {

}

但是,将出现一条错误消息:

  1. 类型“ CellDatasDataSource”不符合协议“ NSObjectProtocol”
  2. 类型“ CellDatasDataSource”不符合协议“ UITableViewDataSource”

正确的方法应该是什么?


阅读 253

收藏
2020-07-07

共1个答案

小编典典

类型“ CellDatasDataSource”不符合协议“ NSObjectProtocol”

您必须使您的类继承自,NSObject以符合NSObjectProtocol。Vanilla
Swift类没有。但许多地方UIKit期待NSObject秒。

class CustomDataSource : NSObject, UITableViewDataSource {

}

但是这个:

类型“ CellDatasDataSource”不符合协议“ UITableViewDataSource”

是期待。在类实现协议的所有必需方法之前,您将得到错误。

所以得到编码:)

2020-07-07