我正在使用Rubymotion构建iOS应用。我正在使用电子邮件编写器中的构建,但是我在创建取消委托方法时遇到了问题。
这就是在Objective C中的样子:
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{
[controller dismissModalViewControllerAnimated:YES];
}
这是我在Ruby中开始的方式,但它错了:
def MFMailComposeViewController(didFinishWithResult:lambda{ |error|
self.dismissModalViewControllerAnimated(true)
})
需要帮助将Objective C转换为Ruby。
答案 0 :(得分:3)
这只是一种常规方法。 lambda是不必要的。
此外,您需要每个RubyMotion文档的错误指针:http://www.rubymotion.com/developer-center/guides/runtime/#_pointers
error_ptr = Pointer.new(:object)
def mailComposeController(controller, didFinishWithResult:result, error: error_ptr)
self.dismissModalViewControllerAnimated(true)
end