如何修复Xcode 7.3警告:不推荐使用`init`:它将在Swift 3中删除:在序列上使用`enumerate()`方法

时间:2016-03-31 16:22:26

标签: ios arrays swift xcode7.3 swift3

从最近的Xcode 7.3更新开始,我开始看到这条消息。我正在使用循环序列如下:

for (index, product) in EnumerateSequence(self.products) {
     //Do something with the product

     //Do something with the index
}

该注释位于EnumerateSequence

2 个答案:

答案 0 :(得分:2)

如果您想知道为什么,他们添加了此警告并将删除def buildElements(element,n) when n <= 1 do [element] end def buildElements(element, n) do [element | buildElements(element, n - 1)] end ,这是因为EnumerateSequence.initEnumerateSequence方法的实现细节。他们希望您使用enumerate而不是依赖它的实现方式。

答案 1 :(得分:1)

经过一些测试后,如果你想同时使用indexobject,这是从Swift 2.2开始使用的解决方案:

for (index, product) in self.products.enumerate() {
    //Do something with the product

    //Do something with the index
}

删除EnumerateSequence并使用您的Array.enumerate()方法