1

基本的に、ブロックであるプロパティのバインディングを作成しようとしています。MonoTouch Documentationでこれを行う方法を示していますが、この特定のケースではありません。


バインドしようとしているプロパティは次のとおりです

    @property (copy) CouchDocumentPathMap documentPathMap;

CouchDocumentPathMap はそのように定義されています

    typedef NSString* (^CouchDocumentPathMap)(NSString* documentID);

ドキュメントでは、(^)(id obj, BOOL *stop)ブロックではなくブロックの処理方法を示してい(^Something)(id someParam)ます。

4

2 に答える 2

2

ブロックを「戻す」ことはあまり役に立たないため、このプロパティを次のようにバインドできます。

delegate string CouchDocumentPathMap (string documentID);

[...] 

[Export ("setDocumentPathMap:")]
void SetDocumentPathMap (CouchDocumentPathMap handler);
于 2012-05-19T01:26:01.873 に答える
2

CouchDocumentPathMapと、あなたの言葉ではSomething、ブロック署名の一部ではありません。CouchDocumentPathMapは型の名前で、 によって定義された型typedefです。型自体を記述する場合は、次のようになります。

NSString* (^)(NSString* documentID)

同様に、typedef を使用せずにプロパティを宣言することもできます。

@property (copy) NSString* (^documentPathMap)(NSString* documentID);

それはあなたがよりよく知っているタイプのようなものです。

于 2012-05-19T15:54:14.717 に答える