1. ホーム
  2. objective-c

[解決済み] Swiftでクラスをプロトコルに準拠させるには?

2022-08-16 02:53:49

質問

をObjective-Cで書いてください。

@interface CustomDataSource : NSObject <UITableViewDataSource>

@end

をSwiftで表示します。

class CustomDataSource : UITableViewDataSource {

}

ただし、エラーメッセージが表示されます。

  1. タイプ 'CellDatasDataSource' はプロトコル 'NSObjectProtocol' に適合していません。
  2. タイプ 'CellDatasDataSource' はプロトコル 'UITableViewDataSource' に準拠していません。

正しい方法は何ですか?

どのように解決するのですか?

<ブロッククオート

タイプ 'CellDatasDataSource' はプロトコル 'NSObjectProtocol' に適合していません。

を継承したクラスを作成する必要があります。 NSObject に適合するように NSObjectProtocol . バニラSwiftのクラスはそうではありません。しかし、多くの部分が UIKitNSObject s.

class CustomDataSource : NSObject, UITableViewDataSource {

}

でも、これ

タイプ 'CellDatasDataSource' はプロトコル 'UITableViewDataSource' に適合していません。

予想通りです。クラスがプロトコルの必要なメソッドをすべて実装するまで、エラーが表示されます。

では、コーディングを始めましょう :)