我想使用此迭代函數來檢查數組,並將結果與新數組一起存儲,然後再次檢查新數組...然而,我不知道如何清除舊的無用數組,以便釋放內存。Swift:在迭代函數中清除數組
func checkEnvironment(environment: [MGLPolygon], seed: MGLPolygon) -> [MGLPolygon]?{
var newEnv: [MGLPolygon]?
var alien: MGLPolygon?
var check = false
for i in 0..<environment.count{
if detectIntersect(poly1: seed, poly2: environment[i]) && check == false{
check = true
alien = seed
newEnv?.append(alien!)
}else{
newEnv?.append(environment[i])
}
}
if check == false{
// error occurs on here
environment.removeAll()
return newEnv!
}else{
checkEnvironment(environment: newEnv!, seed: alien!)
}
return nil
}
代碼
environment.removeAll()
獲取說環境是一個讓靜態的,所以我不能改變它的錯誤。我的問題是如何釋放這些數組的內存? 任何幫助將不勝感激。
爲什麼「去除」「檢查」的副作用?也許這個功能需要重新考慮,並分解成單獨的部分 – Alexander
是的,這個功能不工作,我改變它,並滿足新的障礙... https://stackoverflow.com/questions/45392515/swift-return-無法停止功能 – hapmlpy