Jon*_*ark 1 objective-c rubymotion
我正在使用Rubymotion构建一个iOS应用程序.我需要将一段Objective-c代码"转换"为Ruby.它是否正确?
最初是在Objective-c
[movieWriter setCompletionBlock:^{
[filter removeTarget:movieWriter];
[movieWriter finishRecording];
}];
Run Code Online (Sandbox Code Playgroud)
Ruby中的相同内容?:
movieWriter(setCompletionBlock:-> { filter.removeTarget(movieWriter) }, { movieWriter.finishRecording })
Run Code Online (Sandbox Code Playgroud)
不.Ruby中的消息发送语法不是,object(message:arguments)并且块中有多个语句的语法不是{statement1} {statement2}.相反,你想要这样的东西:
movieWriter.completionBlock = lambda do
filter.removeTarget(movieWriter)
movieWriter.finishRecording
end
Run Code Online (Sandbox Code Playgroud)
(RubyMotion将setter completionBlock=转换为适当的setCompletionBlock:方法.如果你想使用显式setter方法,它看起来就像movieWriter.setCompletionBlock(lambda do …).)
| 归档时间: |
|
| 查看次数: |
445 次 |
| 最近记录: |