如何编写电子邮件编写器取消委托方法?

时间:2012-12-14 22:26:38

标签: objective-c rubymotion

我正在使用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。

1 个答案:

答案 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