objective-c - 如何使一个类符合 Swift 中的协议(protocol)?

在 Objective-C 中:

@interface CustomDataSource : NSObject <UITableViewDataSource>

@end

在 swift 中:

class CustomDataSource : UITableViewDataSource {

}

但是会出现错误信息:

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

正确的方法应该是什么?

最佳答案

Type 'CellDatasDataSource' does not conform to protocol 'NSObjectProtocol'

你必须让你的类继承自 NSObject 以符合 NSObjectProtocol。 Vanilla Swift 类没有。但是 UIKit 的许多部分都需要 NSObjects。

class CustomDataSource : NSObject, UITableViewDataSource {

}

但是这个:

Type 'CellDatasDataSource' does not conform to protocol 'UITableViewDataSource'

预计。在您的类实现协议(protocol)的所有必需方法之前,您将收到错误消息。

所以开始编码:)

https://stackoverflow.com/questions/24991018/

相关文章:

objective-c - Objective-C 中的选择器?

ios - 如何将 NSAppTransportSecurity 添加到我的 info.plist

iphone - 使用 CALayers 的圆形 UIView - 只有一些角落 - 如何?

objective-c - Swift 中的只读和非计算变量属性

objective-c - 这个 gdb 输出是什么意思?

objective-c - Xcode 不显示导致崩溃的行

ios - 如何使用 NSCache

objective-c - "Receiver type ' CALayer' 例如消息是前向声明”

ios - NSLocalizedString() 的第二个参数是什么?

iphone - 获取当前方法调用的线程id