0

我正在使用 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 需要帮助。

4

1 回答 1

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
于 2012-12-14T23:59:44.250 回答