[解決済み] カテゴリ用のSwiftクラスを作成するには?
2023-06-17 21:02:21
質問
既存のswiftクラスにカテゴリを作成したいのですが、IDEにそのためのオプションがありません。
swiftプロジェクトにカテゴリが存在するかどうか、心当たりはありますか?または、swiftプロジェクトで同様の機能を実現する方法はありますか?
どのように解決するのですか?
Swiftでは
Extensions
を使用して、既存のクラス、構造体、列挙型に新しい機能を追加することができます。
これらは主にいくつかの点でObjective-Cのカテゴリと異なっています。
- 名前がない
- Extension を明示的にインポートする必要はありません。既存の型に新しい機能を追加するために拡張機能を定義した場合、拡張機能が定義される前に作成されたとしても、その型のすべての既存のインスタンスで新しい機能が利用可能になります。
- 上記のように、クラスだけでなく、他の型でも機能します。
現状では、エクステンションは
- 計算されたプロパティおよび計算された静的プロパティを追加する
- インスタンスメソッドとタイプメソッドの定義
- 新しいイニシャライザーを提供する
- 添え字の定義
- 新しいネストされた型の定義と使用
- 既存の型をプロトコルに準拠させる
拡張機能を宣言するための基本的な構文は以下の通りです。
extension SomeType {
// new functionality to add to SomeType goes here
}
チェック Appleのドキュメント を参照してください。
関連
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] フレームワークを使用したiOSアプリがデバイス上でクラッシュ、dyld: ライブラリがロードされない、Xcode 6 Beta
-
[解決済み] ある要素が配列に含まれているかどうかを確認する方法
-
[解決済み] 既存のオブジェクトに拡張機能を追加するSwiftファイルの命名のベストプラクティスは何ですか?
-
[解決済み] SwiftでUIImageをソリッドカラーで作成する
-
[解決済み] Objective-CのクラスでSwiftのプロトコルをインポートする
-
[解決済み] 非'@objc'メソッドは'@objc'プロトコルのオプション要件を満たしていない
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Xcode 6以降でカテゴリを作成するにはどうすればいいですか?
-
[解決済み] Protocol ... can only be used as generic constraint because it has Self or associated type requirements "とは、どういう意味ですか?
-
[解決済み] Swiftのif letと論理AND演算子&&の使い分け
-
[解決済み] Swiftでクラスメソッド/プロパティを作成するには?
-
[解決済み] あるプロトコルを特定のクラスにのみ適用することを要求する方法
-
[解決済み] Swift で CGFloat を切り上げる
-
[解決済み] Swiftの拡張機能例
-
[解決済み] SwiftUIでリストの左右のパディングを削除する方法は?
-
[解決済み] Swiftのthrowとrethrowsの違いは何ですか?
-
[解決済み] クラス拡張とクラス分類