当前位置:首页 > 操作系统 > Ios

需要将iOS中使用的块转换为Android Java代码

我想开始在我的iPhone应用程序中使用块,因为它们真的非常方便.

然而,由于所有应用程序也必须移植到Android Java,我不确定这是否是一个好主意,因为我不知道如何轻松地翻译块.

到目前为止,将iOS移植到Android是直接的,几乎是逐行的 – 但iOS块如何转换为Java? (当然我不是在谈论Java块)

非常感谢!

解决方法:

Java允许匿名(未命名)类.更重要的是,他们可以扩展另一个类.以这种方式使用时,它们与Objective C中的块类似.

您经常会看到定义了一个实现Runnable或类似的匿名类.这是在执行类似于块的操作:提供匿名的内联代码定义,该代码可以在某处传递以供以后使用.

有关详细信息,请参阅此处的示例:
http://en.wikipedia.org/wiki/Closure_%28computer_science%29#Local_classes_.28Java.29

所以在Java中你可以编写如下内容:

doMyThing(new Runnable() {
  void run() {
     // your 'block' code here
  }
});

方法doMyThing稍后可以调用run方法(或者通过将Runnable传递给新的Thread对象等将其生成为线程)

这里有进一步的讨论:

Limitations of Java Anonymous Classes compared to Objective-C Blocks

http://www.jondev.net/articles/Objective-C_blocks_vs_Java_Anonymous_Classes_or_Functions_(callbacks)


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!