1

私はC#でかなりの経験を積んだ後、Objective-cを学んでいます。私がひどく見逃していることの1つは、すべてのプロジェクトで参照できる別のプロジェクトで拡張メソッドを作成できることです。ここにいくつかの素朴なc#があります:

public static bool IsShortString(this string s) {
    return s.length <= 3;
}

Visual Studioでは、参照を追加するだけusingで、bammyString.IsShortString()はかなり役に立たないメソッドになります。

ですから、静的ライブラリを書きたいと思いますが、そこからどこに行くのかわかりません。

この静的ライブラリを作成する場合、1つの#importディレクティブを使用して、ライブラリ内のさまざまなファイル全体ですべてのメソッドを使用できますか、それとも各ヘッダーを個別にインポートする必要がありますか?

4

2 に答える 2

1

探しているものはCategoryと呼ばれ、既存のクラスにいくつかのメソッドを追加できます。リファレンスhttp://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/chapters/occategories.htmlを確認してください

作成したカテゴリを含む静的ライブラリである独自のツールキットを作成できます。一般的な方法は、lib内のすべてのヘッダーのインポートを含む1つのヘッダーファイルを作成することです。したがって、それを使用するときは、次のようにします。

#import "libName.h"

また、カテゴリを含む静的ライブラリを作成するときは、プロジェクトにフラグ-all_load-ObjCリンカーフラグを含めることが重要です。

于 2012-04-13T14:46:57.940 に答える
1

Objective-cで最も近いものはカテゴリです。

これは、カテゴリに関する優れたチュートリアルでもあります。

于 2012-04-13T14:42:50.280 に答える