2011-06-28 10 views
3

私に次の属性を教えてください。Monotouch:ファンデーションの属性を理解

1)[MonoTouch.Foundation.Register("SomeClass")]

この属性は、IBでレジスタクラス用に使用されていますか? iOSクラスをプログラム的に拡張する場合、このクラスを使用する必要がありますか?

2)[Export("initSomething")]

私はこの属性を使用しなければならないのはいつですか?セレクタの場合は、ok。他に何か?

ありがとうございます。

答えて

3

クラスの属性は、クラスをObjective-Cの世界に公開します。あなたはそのクラスのメソッドを呼びたい場合に必要です。登録に渡される名前は、Objective-Cの世界があなたのクラスに使用する名前になります。

エクスポートは、その世界に単一のメソッドまたはプロパティを公開するために使用されます。

+2

ありがとうございます! 「あなたは、そのクラスのメソッドを呼びたい場合は、それが必要です」ということについて、より詳しく説明できますか? –

+0

私にとってはそれほど明確ではないことは次のとおりです。 iOSクラス(たとえばUIViewController)を拡張するクラスを作成してそこにいくつかのメソッドを作成すると、それらのメソッドは属性を持つその世界に公開されません。どうして?ありがとうございました。 –