Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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 从for循环向数组添加最后一个元素_Ios_Arrays_Swift_For Loop - Fatal编程技术网

Ios 从for循环向数组添加最后一个元素

Ios 从for循环向数组添加最后一个元素,ios,arrays,swift,for-loop,Ios,Arrays,Swift,For Loop,我有一个这样的代码 for element in self.arr_Offline { self.arr_OfflineTemp.add(element) break } self.arr_Offline.removeObject(at: 0) for element in self.arr_Offline { // looping through array self.arr_OfflineTemp.add(lastElementOf'self.arr_Offline')

我有一个这样的代码

for element in self.arr_Offline {
   self.arr_OfflineTemp.add(element)
   break
}
self.arr_Offline.removeObject(at: 0)
for element in self.arr_Offline { // looping through array
   self.arr_OfflineTemp.add(lastElementOf'self.arr_Offline') //add last element
   break
}
self.arr_Offline.removeObject(at: 'last') //remove that last element that was added to `arr_OfflineTemp`
在这里,我在一个名为
self.arr\u Offline
的数组中循环,将该数组中的第一个元素添加到另一个名为
self.arr\u OfflineTemp
的数组中,并立即执行break操作,这样第二个数组将只有一个元素,一旦我在for循环之外,我通过离线执行self.arr\u.removeObject(at:0)

但是我想将最后一个元素添加到
self.arr\u OfflineTemp
,而不是第一个元素,然后从
self.arr\u Offline
中删除最后一个元素。看起来应该是这样的

for element in self.arr_Offline {
   self.arr_OfflineTemp.add(element)
   break
}
self.arr_Offline.removeObject(at: 0)
for element in self.arr_Offline { // looping through array
   self.arr_OfflineTemp.add(lastElementOf'self.arr_Offline') //add last element
   break
}
self.arr_Offline.removeObject(at: 'last') //remove that last element that was added to `arr_OfflineTemp`

我怎样才能做到这一点?

您是否对reversed()Swift尝试过同样的方法:

添加元素后,可以使用以下方法从列表中删除最后一个元素:

lst.popLast() or lst.removeLast()
请针对上述代码尝试以下操作:

for element in self.arr_Offline.reversed() {
   self.arr_OfflineTemp.add(element)
   break
}
self.arr_Offline.popLast()

这是您正在寻找的吗?

首先,不要在Swift中使用
NS(可变)数组
NS(可变)字典

本机Swift数组提供了一种无需循环即可实现这一点的便捷方法

第一个要素:

if !arr_Offline.isEmpty { // the check is necessary to avoid a crash
    let removedElement = self.arr_Offline.removeFirst()
    self.arr_OfflineTemp.append(removedElement)
}
if !arr_Offline.isEmpty {
    let removedElement = self.arr_Offline.removeLast()
    self.arr_OfflineTemp.append(removedElement)
}
最后一个要素:

if !arr_Offline.isEmpty { // the check is necessary to avoid a crash
    let removedElement = self.arr_Offline.removeFirst()
    self.arr_OfflineTemp.append(removedElement)
}
if !arr_Offline.isEmpty {
    let removedElement = self.arr_Offline.removeLast()
    self.arr_OfflineTemp.append(removedElement)
}

请把不结实的蛇的名字改成camelCase

ok@Priyanshu Tiwari。你的意思是我可以对self.arr\u Offline.reversed{..}
中的元素执行
。但是如何执行
lst.pop()或del lst[-1]
。?…self.arr\u Offline.reversed()中的元素没有在swiftue-popLast()或removeLast()中调用的方法