当前位置: 首页 > 面试题库 >

Swift 2.0:“ enumerate”不可用:在序列上调用“ enumerate()”方法

耿联
2023-03-14
问题内容

刚刚下载了Xcode 7 Beta,此错误出现在enumerate关键字上。

for (index, string) in enumerate(mySwiftStringArray)
{

}

谁能帮我克服这个困难?

另外,似乎count()无法再计算的长度String

let stringLength = count(myString)

在上面的行中,编译器说:

“计数”不可用:访问集合中的“计数”属性。

Apple是否已发布任何Swift 2.0编程指南?


问题答案:

许多全局函数已被 协议扩展方法 取代,这是Swift 2的新功能,因此enumerate()现在是以下扩展方法SequenceType

extension SequenceType {
    func enumerate() -> EnumerateSequence<Self>
}

并用作

let mySwiftStringArray = [ "foo", "bar" ]
for (index, string) in mySwiftStringArray.enumerate() {
   print(string) 
}

并且String不再符合SequenceType,您必须使用characters属性来获取Unicode字符的集合。另外,count()是一种协议扩展方法,
CollectionType而不是全局函数:

let myString = "foo"
let stringLength = myString.characters.count
print(stringLength)

Swift 3的更新 enumerate()已重命名为enumerated()

let mySwiftStringArray = [ "foo", "bar" ]
for (index, string) in mySwiftStringArray.enumerated() {
    print(string)
}


 类似资料:
  • Python3 内置函数 描述 enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。 语法 以下是 enumerate() 方法的语法: enumerate(sequence, [start=0]) 参数 sequence -- 一个序列、迭代器或其他支持迭代对象。 start -- 下标起始位置

  • 本文向大家介绍Python enumerate内置库用法解析,包括了Python enumerate内置库用法解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Python enumerate内置库用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用enumerate,可以自动进行索引下标的赋值,本例代码中使用enumera

  • 问题内容: 4年前关闭。 刚刚下载了Xcode 7 Beta,并列举了此错误 错误: 枚举不可用在序列上调用枚举方法 问题答案: 在Swift 2中,它不再是全局函数,而是的扩展。 直接在序列上调用它以进行枚举,如下所示:

  • 本文向大家介绍python中enumerate的用法实例解析,包括了python中enumerate的用法实例解析的使用技巧和注意事项,需要的朋友参考一下 在python中enumerate的用法多用于在for循环中得到计数,本文即以实例形式向大家展现python中enumerate的用法。具体如下: enumerate参数为可遍历的变量,如 字符串,列表等; 返回值为enumerate类。 示例

  • 本文向大家介绍Python range、enumerate和zip函数用法详解,包括了Python range、enumerate和zip函数用法详解的使用技巧和注意事项,需要的朋友参考一下 前言 range函数可创建一个整数列表。 如果需要知道当前元素在列表中的索引,推荐用enumerate代替range。 zip函数用于同时遍历多个迭代器。 一、range 函数 range函数可创建一个整数列

  • 本文向大家介绍python中enumerate函数用法实例分析,包括了python中enumerate函数用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python中enumerate函数用法。分享给大家供大家参考。具体分析如下: 今日发现一个新函数 enumerate 。一般情况下对一个列表或数组既要遍历索引又要遍历元素时,会这样写: 但是这种方法有些累赘,使用内置enum