ios - 转换为 Swift 3.0 后出错

标签 ios swift prefix

在我将我的项目转换为 Swift 3.0 后,我在变量的日志中发现错误:

var arrayOfHours = stringArray.map {String(describing: $0!.characters.prefix(2))}

错误是:

code of error:  "Optional(Swift.String.CharacterView(_core: Swift._StringCore(_baseAddress: Optional(0x000060800024ee70), _countAndFlags: 2, _owner: Optional(Swift._HeapBufferStorage<Swift._StringBufferIVars,
 Swift.UInt16>))))"

我的错误在哪里发生?

更新:

var stringArray in console: [Optional("1226"), Optional("1249"), Optional("1312"), Optional("1336"), Optional("1359"), Optional("1422"), Optional("1446"), Optional("1509"), Optional("1532"), Optional("1549"), Optional("1607"), Optional("1624"), Optional("1642"), Optional("1659"), Optional("1717"), Optional("1734"), Optional("1752"), Optional("1809"), Optional("1827"), Optional("1844"), Optional("1902"), Optional("1919"), Optional("1954"), Optional("2032"), Optional("2107"), Optional("2142"), Optional("2217"), Optional("2252"), Optional("2327"), Optional("2402"), Optional("2437"), Optional("2512")]

最佳答案

var stringArray: [String?] = ["1226", "1249"]
print(stringArray) // [Optional("1226"), Optional("1249")]

var arrayOfHours = stringArray.map { String($0!.characters.prefix(2)) }
print(arrayOfHours) // ["12", "12"]

关于ios - 转换为 Swift 3.0 后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39634405/

相关文章:

ios - 日期不是使用 DateFormatter 从字符串创建的

common-lisp - 常见的 lisp : is there a less painful way to input math expressions?

bash - 从变量中去除前缀​​ - bash

ios - react-native run-android 要求 Realm?

ios - 具有自定义分页行为的 UITableView

reflection - 如何强制解包存储为 Any 的可选字符串

swift - 在 Swift 中使用 Objective-C 结构时出错(无法在范围内找到类型 'XXX')

ios - 如何只显示特定单元格中的文本?

linux - 在 Makefile 中我们使用 'prefix' 还是 'PREFIX'?

ios - Objective C - 调用dispatch_async显示错误