添加' for ... in'支持Swift 2中的一个类

时间:2015-07-30 17:14:22

标签: ios swift swift2

早期版本的Swift已经回答了{p> This question,但我想知道如何添加' for ... in'支持Swift 2中的一个类。看起来在新版本的Swift中已经发生了很大的变化,使答案明显不同。例如,您现在应该使用AnyGenerator协议吗?

2 个答案:

答案 0 :(得分:8)

只有两处变化:

  • package main; import java.util.Arrays; public class main { public static void main(String[] args) { System.out.println(hasDups("abc")); System.out.println(hasDups("abcb")); } public static String hasDups(String arg) { String[] ar = arg.split(""); Arrays.sort(ar); boolean noDups = true; for (int i = 1; i < ar.length && noDups; i++) { if (ar[i].equals(ar[i-1])) noDups = false; } if (noDups) return arg; else return ""; } } 现在称为GeneratorOf

  • AnyGenerator现在是一个函数GeneratorOf.init(next:)

这给了我们:

anyGenerator()

(我已编辑链接的答案以匹配Swift 2语法。)

答案 1 :(得分:0)

这直接来自对该问题答案的评论之一......

  

现在我们在Swift 2.0中有了协议扩展,这有点不同。应该简单地继承AnyGenerator并覆盖next()方法以返回迭代中的正确项目(在这种情况下,next() - &gt; Car?)

,而不是符合SequenceType。