我的项目的一个类是使用迭代器。 Eclipse标志着java.util中没有迭代器。
以下是源代码的摘录:
import java.util.Iterator;
java.util.Iterator it = rows.iterator();
while (it.hasNext()) {
list.addView(((RowLayout)it.next()).getView());
}
尽管如此,当我为Android编译时,没有问题。 apk工作正常,可以部署到设备。当我为iPhone编译时,无法构建项目。
答案 0 :(得分:1)
您在导入声明后忘记了分号
import java.util.Iterator;
此外,如果您使用的是该类型的限定名称(如下行所示),则不需要导入声明
java.util.Iterator it = rows.iterator();
答案 1 :(得分:1)
NeoMAD支持Java 1.3仅限于Java ME API。您正在使用Java Iterator类,它是Java SE的一部分而不是Java ME。这就是为什么:
您的代码适用于Android,因为此平台上存在Java.Iterator类。由于NeoMAD使用Android SDK构建应用程序,因此没有错误。但是NeoMAD使用自己的转换编译器来生成Objective-C源代码,此操作仅限于Java ME API。这就是为什么你不能使用Java SE类,如iOS的Iterator或NeoMAD的Windows Phone目标。
要避免这个问题,您必须修改代码以使用整数计数器循环遍历向量元素。