Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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/8/swift/19.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
Arrays swift:如何拆分字符串并删除第一个元素?_Arrays_Swift_Mutable - Fatal编程技术网

Arrays swift:如何拆分字符串并删除第一个元素?

Arrays swift:如何拆分字符串并删除第一个元素?,arrays,swift,mutable,Arrays,Swift,Mutable,我想用文本分割创建一个数组,然后删除我想要的任何项目。代码段未编译,因为a是不可变的。 我该怎么办 var a = [] // ... a = split(text, { $0 == "\n"}, maxSplit: Int.max, allowEmptySlices: false) let sentence = a.removeAtIndex(0) 将定义为NSArray,且不具有removeAtIndex。取而代之的是 与 应该解决这个问题。或者,在一个步骤中声明并分配变量: var a

我想用文本分割创建一个数组,然后删除我想要的任何项目。代码段未编译,因为a是不可变的。 我该怎么办

var a = []
// ...
a = split(text, { $0 == "\n"}, maxSplit: Int.max, allowEmptySlices: false)
let sentence = a.removeAtIndex(0)
将定义为NSArray,且不具有removeAtIndex。取而代之的是 与

应该解决这个问题。或者,在一个步骤中声明并分配变量:

var a = split(text, { $0 == "\n"}, maxSplit: Int.max, allowEmptySlices: false)

修改数组声明

var a = Array<String>()
let text = "this has \nsome words"
a = split(text, { $0 == "\n"}, maxSplit: Int.max, allowEmptySlices: false)
let sentence = a.removeAtIndex (0)
print(a)

打印[某些单词]

a是可变的,代码编译和运行对我来说没有问题。@Martin R,我更新了问题,介绍了使编译中断的实际代码。谢谢。有没有办法在swift中直接设置NSMutableArray?另外一个问题是:坚持使用swift数组或NSArray是否会对性能造成任何损失或好处?@StéphanedeLuca数组在swift中使用var创建时是可变的,让我们定义不变性。var a:[String]实际上是一个swift数组,可以与Objective-C互换。至于性能损失,我不确定,但我知道最好使用不可变对象,这是swift数组的WWDC谈话参考中提到的
var a = split(text, { $0 == "\n"}, maxSplit: Int.max, allowEmptySlices: false)
var a = Array<String>()
let text = "this has \nsome words"
a = split(text, { $0 == "\n"}, maxSplit: Int.max, allowEmptySlices: false)
let sentence = a.removeAtIndex (0)
print(a)