[解決済み] Swiftでクラスをプロトコルに準拠させるには?
2022-08-16 02:53:49
質問
をObjective-Cで書いてください。
@interface CustomDataSource : NSObject <UITableViewDataSource>
@end
をSwiftで表示します。
class CustomDataSource : UITableViewDataSource {
}
ただし、エラーメッセージが表示されます。
- タイプ 'CellDatasDataSource' はプロトコル 'NSObjectProtocol' に適合していません。
- タイプ 'CellDatasDataSource' はプロトコル 'UITableViewDataSource' に準拠していません。
正しい方法は何ですか?
どのように解決するのですか?
<ブロッククオートタイプ 'CellDatasDataSource' はプロトコル 'NSObjectProtocol' に適合していません。
を継承したクラスを作成する必要があります。
NSObject
に適合するように
NSObjectProtocol
. バニラSwiftのクラスはそうではありません。しかし、多くの部分が
UIKit
は
NSObject
s.
class CustomDataSource : NSObject, UITableViewDataSource {
}
でも、これ
タイプ 'CellDatasDataSource' はプロトコル 'UITableViewDataSource' に適合していません。
予想通りです。クラスがプロトコルの必要なメソッドをすべて実装するまで、エラーが表示されます。
では、コーディングを始めましょう :)
関連
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] 純粋な」Swift で弱いプロトコル参照を作るには (@objc なしで) どうしたらいいですか?
-
[解決済み] Swiftでdispatch_onceのシングルトンモデルを使う
-
[解決済み] Swiftのクラスにおける静的関数/変数とクラス関数/変数?
-
[解決済み】なぜ、Swiftの文字列では、?のような絵文字が奇妙に扱われるのですか?
-
[解決済み] Objective-CのクラスでSwiftのプロトコルをインポートする
-
[解決済み] 複数のサブクラスで1つのストーリーボードuiviewcontrollerを使用する方法
-
[解決済み] IOSのUIViewからアプリケーションのドキュメントフォルダに画像を保存する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] クラスがNSObjectProtocolに適合していない [重複]。
-
[解決済み] Objective-Cのクラス→文字列のようなものです。[NSArray className] -> @"NSArray" のようになります。
-
[解決済み] Objective-Cで配列に結合する
-
[解決済み] 角括弧 < > と引用符 " " を使って #import する。
-
[解決済み] Objective-Cです。カテゴリ内のプロパティ/インスタンス変数
-
[解決済み] 複数のサブクラスで1つのストーリーボードuiviewcontrollerを使用する方法
-
[解決済み] Objective-Cでコールバックを実行する方法
-
[解決済み] performSelectorの使用: メソッドを呼び出すだけと比較した場合
-
[解決済み] ベストプラクティス - 自分のプロジェクト/アプリのためのNSErrorドメインとコード
-
[解決済み] キーチェーンのアイテムは何がユニークなのか(iOSの場合)?