2

タスクは単純です。ラップされたオブジェクトにすべてを委譲するラッパーを作成する必要があります。ラップされたオブジェクトのタイプのみが、オプションのメソッドを含むプロトコルです。私のラッパーは、同じプロトコルを実装することです。

オプションのメソッドについてはどうすればよいですか? できます:

  1. それらをラッパーに実装できます。しかし、それらがラップされるオブジェクトによって実装されていない場合、この実装から何を返すのでしょうか?
  2. それらを実装しないでください。その場合、ラッパー オブジェクトはラップされたオブジェクトの一部の機能を提供しませんが、これは望ましくありません。

より良いオプションはありますか?私はSwiftで作業していることに注意してください。

4

1 に答える 1

0

オプションのメソッドを使用している場合は、Objective-C ランタイムを使用します。つまり、オブジェクトがオプションのメソッドに応答するかどうかを照会できることを意味します

Objective-C ランタイムを初めて使用する場合は、 Objective-C ランタイム プログラミング ガイドで詳細を読むことができます。

ラッパーは実行時に実装をチェックする必要があり、欠落している場合は、これらのオプションのメソッドのいずれかの呼び出し時に、ブール値などの何らかのインジケーターを返す必要があると思います。

于 2015-04-04T19:57:56.147 に答える