Swift的数组实现再次让我失去了一个循环! (Haw,haw。)我想要的是获取一个任意长度的数组并从中获取一个新数组(或数组切片),其中第一个元素已被删除。
为什么这么难?
我只是希望能够做到这样的事情:
let suffix = someArray.suffixFrom(1)
但我无法弄清楚如何做到这一点。似乎我发现的最接近的方法需要知道数组的长度,我不知道因为它是内联计算的,我真的很讨厌将这样一个简单的概念拆分成一堆变量和行。
精化:
我有一个用冒号(:)拆分的字符串,我只想创建一个Set
,其中包含除第一个之外的所有: - delimited组件。
因此字符串“one:two:three”将返回包含[“two”,“three”]的集合。因为我可以从数组创建一个Set,所以我真正需要的是得到数组的后缀,但我不知道有多少组件,因为它是内联的:
return Set(attributeName?.componentsSeparatedByString(":").suffixFrom(1))
为什么Swift如此努力?
编辑:在你提出建议之前,我很清楚我可以扩展数组类来自己做,但我正在编写一个框架,我不想做到这一点,我也不想写一个血腥的实用函数来做一些简单的事情。
答案 0 :(得分:2)
http://jsonapi.org/format/#fetching-pagination完全符合您的需要,并提供您正在寻找的确切语法。
let suffix = someArray.dropFirst(1)