Swift와 프로그래밍에 새로운 점이있어서 어디에 문제가 있는지 알 수 없습니다. 기존 주제에서 대답을 찾으려고했는데 할 수 없었습니다. 미리 감사드립니다.치명적인 오류 : 인덱스가 범위를 벗어남 (배열)
func smartAssigning(names: [String], statuses: [Bool], projects: [Int], tasks: [Int]) -> String {
//beginig
var collect: [Int] = [], nameLast = 0
var candidateNumber: [Int] = []
for x in 0...statuses.count {
//Defines who is working
if statuses[x] == false {
collect.append(x)
} else {}
}
// Checks for min tasks assigned among those not on vacation
let rt: Int = tasks.min()!
let rp: Int = projects.min()!
for i in collect {
if tasks[i] == rt {
candidateNumber.append(i)
} else {}
}
// if there is only 1 with min tasks - returns his number in array
if candidateNumber.count == 1 {
nameLast = candidateNumber[0]
} else {
// checks for min projects
for e in candidateNumber {
if projects[e] == rp {
nameLast = e
}
}
}
return names[nameLast]
}
smartAssigning(names: ["sd", "dfsd","dfsdf"], statuses: [true, false, false], projects: [2, 1, 1], tasks: [3, 2, 1])
화면 :
첫 번째 오류가에있다을'0 X 용 ... statuses.count'- 당신은 *로 * 디버그 시도해 봤어 문제? 이 기능을 한 단계 밟으면 문제가 빨리 드러납니다. –
이름, 상태, 프로젝트 및 작업 배열의 요소가 모두 묶여 있습니까? 예 : 첫 번째 이름은 첫 번째 상태, 첫 번째 프로젝트 및 첫 번째 작업에 연결됩니까? – Alexander
예, 그렇습니다. 하지만 내 문제를 발견했다. 너와 Martin R. Damn 덕분에. 너무 쉽게. XCODE가 오류로 인식하지 않는 이유는 무엇입니까? –