在Swift中,Array [String]切片返回类型似乎不是[String]

Lir*_*ira 84 sub-array ios swift

我正在切割一个字符串数组并将其设置为[String]变量,但类型检查器正在抱怨.这是一个可能的编译器错误吗?

var tags = ["this", "is", "cool"]
tags[1..<3]
var someTags: [String] = tags[1..<3]
Run Code Online (Sandbox Code Playgroud)

截图

Con*_*nor 165

使用范围订阅数组不会返回数组,而是返回切片.您可以从该切片创建一个数组.

var tags = ["this", "is", "cool"]
tags[1..<3]
var someTags: Slice<String> = tags[1..<3]
var someTagsArray: [String] = Array(someTags)
Run Code Online (Sandbox Code Playgroud)

  • 你在哪里找到`Slice`记录?此外,错误消息不正确,并且"Slice"在操场中显示为[String].因此,似乎有两个编译器错误和缺少文档. (3认同)
  • 我同意错误不正确,文档可能会使用一些工作.如果你分两步尝试:`var someTags = tags [1 .. <3] var someTagsArray:[String] = someTags`它为你提供了更多帮助`错误:'Slice <String>'不能转换为'[字符串]'` (2认同)

zap*_*aph 14

var tags = ["this", "is", "cool"]
var someTags: [String] = Array(tags[1..<3])
println("someTags: \(someTags)") // "someTags: [is, cool]"
Run Code Online (Sandbox Code Playgroud)