基本上,我正在尝试为一个块的属性创建绑定。它显示了如何在MonoTouch Documentation中执行此操作,但不是针对此特定情况。
这是我试图绑定的属性
@property (copy) CouchDocumentPathMap documentPathMap;
CouchDocumentPathMap定义为
typedef NSString* (^CouchDocumentPathMap)(NSString* documentID);
在documentation中,它显示了如何继续(^)(id obj, BOOL *stop)
阻止,而不是(^Something)(id someParam)
阻止。
答案 0 :(得分:2)
由于获取“返回”块并不是真正有用,您可以像这样绑定此属性:
delegate string CouchDocumentPathMap (string documentID);
[...]
[Export ("setDocumentPathMap:")]
void SetDocumentPathMap (CouchDocumentPathMap handler);
答案 1 :(得分:2)
CouchDocumentPathMap
以及您所说的Something
不是块签名的一部分。 CouchDocumentPathMap
是类型的名称,由typedef
定义的类型。如果您要编写类型本身,那将是:
NSString* (^)(NSString* documentID)
同样,可以在不使用typedef的情况下声明属性:
@property (copy) NSString* (^documentPathMap)(NSString* documentID);
这就像你更熟悉的类型。