Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在Swift中,数组[String]切片返回类型不为';好像是[字符串]_Ios_Swift_Sub Array - Fatal编程技术网

Ios 在Swift中,数组[String]切片返回类型不为';好像是[字符串]

Ios 在Swift中,数组[String]切片返回类型不为';好像是[字符串],ios,swift,sub-array,Ios,Swift,Sub Array,我正在分割一个字符串数组,并将其设置为[String]变量,但类型检查器正在抱怨。这可能是一个编译器错误吗 var tags = ["this", "is", "cool"] tags[1..<3] var someTags: [String] = tags[1..<3] var标签=[“这”、“是”、“酷”] 标记[1..使用范围为数组下标并不会返回数组,而是返回一个片段。不过,您可以使用该片段创建一个数组 var tags = ["this", "is", "cool"] ta

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

var tags = ["this", "is", "cool"]
tags[1..<3]
var someTags: [String] = tags[1..<3]
var标签=[“这”、“是”、“酷”]

标记[1..使用范围为数组下标并不会返回数组,而是返回一个片段。不过,您可以使用该片段创建一个数组

var tags = ["this", "is", "cool"]
tags[1..<3]
var someTags: Slice<String> = tags[1..<3]
var someTagsArray: [String] = Array(someTags)
var标签=[“这”、“是”、“酷”]

标记[1..您也可以这样做以获得切片的新数组:

var tags = ["this", "is", "cool"]
var someTags = [String]()
someTags += tags[1..<3]
println(someTags[0])  //prints ["is", "cool"]
var标签=[“这”、“是”、“酷”]
var someTags=[String]()
someTags+=tags[1..
var tags=[“this”、“is”、“cool”]

var someTags:[String]=Array(tags[1..在一个位置执行此操作的另一种方法是组合变量声明
让someTags:[String]
并将
ArraySlice
转换为
[String]

let tags = ["this", "is", "cool"]
let someTags: [String] = tags[1..<3].map { $0 } // ["is", "cool"]
let tags=[“this”、“is”、“cool”]

让someTags:[String]=tags[1..将
ArraySlice
转换为
Array
的另一种方便方法是:

var标签=[“这”、“是”、“酷”]

var someTags:[String]=tags[1..在创建切片时将其转换为数组。将数组保持为数组而不必使用中间变量。这在使用可编码类型时非常有效

var tags = ["this", "is", "cool"]
tags = Array(tags[1..<3])
var标签=[“这”、“是”、“酷”]

tags=Array(tags[1..您在哪里找到
Slice
文档?错误消息也不正确,
Slice
显示为[String]在操场上。因此,似乎有两个编译器错误和缺少文档。您可以在这里看到subscip方法的定义:我同意错误是不正确的,文档可能需要一些工作。如果您分两步尝试:
var someTags=tags[1.我的错,我看了Swift iBooks。我认为苹果应该删除它们,让它们保持最新。使用Swift 3,我在第三行遇到一个错误,“键入'String'不符合协议'indexable'”。这没问题,但令人困惑。我希望它会打印“is”
var tags = ["this", "is", "cool"]
tags = Array(tags[1..<3])