0

iOS デバイスのフレームワークで構成されるオープン ソース プロジェクトに取り組んでいますが、メソッドの 1 つが期待どおりに機能しません。メソッドの実装を検索しようとしましたが、見つかったのはヘッダー ファイルとメソッド宣言だけでした。どこにも実装が見つかりませんでした。そのクラスに対応する .m ファイルも見つかりませんでした。

だから私はいくつかの質問があります:

  1. 実装なしでクラスが存在し、そのメソッドが特定の操作を実行するにはどうすればよいでしょうか?
  2. この種のクラスを作成する目的は何ですか。
  3. このような状況では、どこにメソッドを実装する必要がありますか?

: オープン ソース プロジェクトはFastPdfKitで、メソッドはwholeTextForPage です。

4

1 に答える 1

1

まあ、それらのメソッドはどこかにあるので、存在しないわけではなく、見えないだけです。

たとえば、UITableView.h を開いてみてください。メソッドの定義は表示されますが、実装は表示されません。実装はライブラリに隠されていますが、見ることはできません。

簡単に言うと、開発者はクラスの実装の詳細を他のユーザーに隠すためにこれを行います。どのメソッドをどのように使用できるかを示すヘッダーを受け取るだけですが、それらがどのように実装されているかについての詳細は隠されています。

たとえば、Apple は UITableView をどのように実装したかをユーザーに知られたくないのですが、それをどのように使用できるかを知ってもらいたいと考えています。

ここでは、Objective-C 用のライブラリを作成する方法に関するチュートリアルを見つけることができます。

Objective-C 用の静的ライブラリの作成

于 2013-07-23T10:10:11.313 に答える