ASIHTTPRequest Monotouch绑定回调/事件

时间:2013-04-03 17:03:28

标签: binding event-handling xamarin.ios asihttprequest

我正在尝试将ASIHTTPRequest objective-c库包装到monotouch中,我坚持下去。 objective-c头文件包含

@property(assign)SEL requestDidFinishSelector;

当我使用monotouch绑定生成器时,它会生成

[导出(“requestDidStartSelector”)]

选择器RequestDidStartSelector {get;组; }

这成功编译但不会被调用。我希望能够做到

networkQueue.RequestDidFinish + = HandleRequestFinish;

来自我的C#代码。

是否有人已经拥有ASIHTTPRequest monotouch绑定或指导我如何连接回调事件?

感谢。

1 个答案:

答案 0 :(得分:1)

选择器只会将句柄返回到您可以使用的“选择器”。

您需要做的是或多或少地编写您的事件处理程序:

class MyCallbacker {
    public MyCallbacker (Action t) { this.t = t; }

    [Preserve (Conditional=true)]
    [Export ("MyCallBack")]
    void Callback () {
         t ();
    }
}

event RequestDidFinish {
    add {
         requestDidFinishSelector = new Selector ("MyCallback");
         new MyCallbacker (() => value);
    }
}