問題タブ [class-extensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
51 参照

objective-c - 内容のないクラス拡張の目的は何ですか?

開発者のドキュメントによると、クラス拡張は@interface実装ファイルで an を宣言することによって実装され、インスタンス変数をプライベートに再宣言するためにも使用できます。ただし、新しいメソッドやインスタンス変数を宣言していない以下のコードをよく見かけます。その目的は何ですか?

0 投票する
1 に答える
101 参照

swift - プロパティ/メソッドを定義せずに、プロトコルで型変換を強制できますか?

asStringを定義する必要はありません。

0 投票する
2 に答える
3967 参照

class - Swift とクラス拡張の使用

extensionプログラマーがクラスの実装でキーワードを使用する理由がわかりません。他のトピックでは、コードがより意味的に分離されていることなどを読むことができます。しかし、自分のコードで作業するときは、// MARK - Something. 次に、Xcode でメソッド リスト (ctrl+6) を使用すると、すべてが一目でわかります。

Apple のドキュメントでは、以下を読むことができます。

「拡張機能は、既存のクラス、構造、または列挙型に新しい機能を追加します。」</p>

では、自分のコードを自分のクラス内に直接記述してみませんか? NSURLSessionやなどの外部クラスの機能を拡張したい場合とは異なり、拡張機能を使用する必要Dictionaryあります。

Mattt Thompson は彼の Alamofire ライブラリで拡張機能を使用しています。

0 投票する
1 に答える
383 参照

objective-c - Objective-C クラス拡張メソッドの前方宣言

次のコードはエラーNo visible @interface for 'Bar' declare the selector 'barMethod' on the second line of implementation を生成し-[Foo fooMethod]ます:

クラス拡張を実装の上-[Bar barMethod]に移動する以外に、FooBar.m 内で宣言を転送する方法はありますか(これはあまり便利ではありません)。BarFoo

0 投票する
3 に答える
830 参照

objective-c - Swift で Objective C クラスの拡張プロパティを公開する

Objective C 実装ファイル ( MyVC.m)に次のものがあるとします。

このプライベート プロパティを Swift (テスト) コードに公開するにはどうすればよいですか? 次の場合、コンパイラ エラーが発生します。

0 投票する
2 に答える
276 参照

php - PHP でクラス レスポンスを拡張する

私は mySQL と SQLite DB を使用するプロジェクトに取り組んでいます。私の目標は、コードが両方のデータベース タイプで動作できるようにすることです。クラスを使用して mySQL のコードを開発しましたが、オブジェクトmysqliでも動作するように変更したいと考えていSQLite3ます。

SQLite3mysqliクラスは(少なくとも私が使用するものとは)同じメソッドを実装しますが、異なる名前を使用することもあります。たとえば、 にmysqli::fetch_array()なりSQLite3::fechArray()ます。そこで、必要なメソッドを実装するために SQLite3 とSQLite3Resultクラスを拡張しています。例えば:

SQLite3問題は、クラスの応答を拡張して独自のSQLite3Response拡張クラスを取得する方法がわからないことです。つまり:

$resはオブジェクトですが、オブジェクト(自分の拡張クラス)SQLite3Resultになる必要があります。SQLite3ResultEx

0 投票する
4 に答える
5021 参照

swift - Swift で最終クラスを拡張できますか?

Swift を使用して作成している新しいアプリにサードパーティのライブラリを使用しています。finalクラス/ライブラリの作成者は、おそらくそのプロパティとメソッドを最適化し、オーバーライドするのを防ぐために、キーワードを使用して最終的なものにしました。

例:

クラスを拡張し、デフォルトをオーバーライドせずにいくつかの新しいプロパティとメソッドを追加することは可能ですか?

そのようです:

0 投票する
2 に答える
113 参照

swift - NSDate で _Incrementable に準拠を追加する方法

ForwardIndexTypeinに適合性を追加してNSDateを作成できるようにしようとしています。そのためにはfromRange<NSDate>を実装する必要があります。public func successor() -> Self_Incrementable

私の実装は非常に単純で、別の日付に続く日付がちょうど 1 秒後の日付であることを示すことを目的としていますが、それはここで求められていることではありません。

私が得ているエラーは

NSDateタイプ ' ' の戻り式を戻りタイプ ' ' にSelf変換できません

as Selforを追加しようとしましたが、その場合 からへの変換は常に成功するas! Selfため、コンパイラは許可しません。で置き換えてもうまくいきません。NSDateSelfSelfNSDate

どうすれば正しい方法で行うことができますか?