java - 将 Java 转换为 Objective-C

标签 java objective-c converter

<分区>

我正在尝试将 Java 代码转换为 Objective-C。下面的类是 测试代码请求。想知道如何将其转换为等效的 Objective-C 。我发现它有点困惑,因为 Java 是静态类型的,并且配置优于约定。而 Objective-C 是动态类型的,并且约定优于配置。我在下面有一个示例代码。任何小提示都应该非常棒。

package com.TestCode.api;

import java.io.IOException;

import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;

import org.json.JSONObject;

public class Categories extends TestCodeRequest {

    public Categories(String apiKey, String apiSecret) {
            super(apiKey, apiSecret, "categories");
    }

    public Categories field(Object... fields) {
        super.field(fields);
        return this;
    }

    public JSONObject getCategories() throws OAuthMessageSignerException, OAuthExpectationFailedException, OAuthCommunicationException, IOException {
        return this.get();
    }

    public Categories categoriesField(Object... fields) {
        return this.field(fields);
    }

}

最佳答案

有几个很好的 Java 到 Objective C 转换器。对于那么简单的代码,所有这些都应该有效。翻译人员通常遇到很多麻烦的地方是翻译对运行时库的调用,因为它们的理念不同(尤其是在外观和用户交互方面)。为了做好这方面的工作,他们需要从语法回到语义,而这对于软件来说是极其困难的。

您的短语“Java 是静态类型,配置优于约定。而 Objective-C 是动态类型,约定优于配置”不能不指代这一点。特别是GUI开发。这些语言的这一方面不是它们固有的,而是属于开发人员通常使用的库,在许多情况下依赖于特定的操作系统。因此,与从 Swing 外观和交互模式转换为 iOS 的外观和交互模式相比,我们可能没有更多地谈论将 Java 转换为 Objective C。

综合考虑,我建议您使用自动转换工具作为学习工具。您会看到生成的代码片段(因为它们变得更加复杂和/或包含用户界面)即使它们可以工作,也不适合维护或进一步开发,如果不重新设计则需要重新编码。但同样,作为学习工具,它们非常有用。

  • Google J2ObjC
  • java2objc
  • JCGO这个转换为 C。如果目的是让某些东西工作,这可能就足够了。如果目的是学习 Objective C 的所有精彩内容,则不会。

关于java - 将 Java 转换为 Objective-C ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18407633/

相关文章:

java - 单击按钮时增加和减少自动滚动文本速度

ios - 使用 Fabric 在 IOS 10.2 中登录 Twitter 时获取个人资料图片和更多信息等详细信息

ios - 更改框架时 UITextView 光标位于框架下方

c# - 转换获取字符的 unicode(?) 值?

JavaScript:需要函数将包含二进制的字符串转换为十六进制,然后再转换回二进制

image - 如何将推文转换为图像

java - 使用 Spring JdbcTemplate 提取一行中的两个字段

java - PDFBox 设置覆盖特定页面

java - 在java中,是否可以在执行过程中的任何特定时间点找到内存堆上的当前对象?

ios - 断言失败-[UITableView _endCellAnimationsWithContext]