내 앱에서 가장 큰 문제 중 하나를 해결하는 방법을 찾고 있었지만,이 문제를 계속 수행하더라도 문제가 여전히 존재합니다. iOS/Swift: tableView cellForRowAtIndexPath crash. 필자가 제공 한 링크에 따르면 배열을 비운 후에 항상 reloadData를 기억하십시오. 그러나 문제는 여전히 존재하며 해결 방법을 모르겠습니다. Crashlytics에Arrayview를 비운 후에도 reloadData를 수행 했더라도 Tableview cellForRowAt가 중단 되었습니까?
일부 로그 ...
내있는 tableview의 cellForRowAt 기능, 그리고 나도 내 스토리 보드에서 셀 식별자를 설정했다.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// Crashed somewhere here
let currentRow = displayMainCell[indexPath.row]
guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? MainCell else { return UITableViewCell() }
if currentRow.id == "wotd" {
cell.contentLabel.font = UIFont(name: "Helvetica Neue", size: 22)
} else {
cell.contentLabel.font = UIFont(name: "Helvetica Neue", size: 13)
}
cell.titleLabel.text = currentRow.title
cell.contentLabel.text = currentRow.content
return cell
}
ADDED : 내가 다른보기 컨트롤러로도 내 didSelectRowAt에 문제가 있습니다. 다음은 구현입니다.
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let currentRow = wordLists[indexPath.row]
textField.text = currentRow
let currentWordToSearch = currentRow.condenseWhitespace().lowercased()
indicator.startAnimating()
saveWordToHistory(currentWordToSearch)
fetchWordFromDB(currentWordToSearch)
wordChange(wordToEncode: currentWordToSearch, uuid: getDeviceID())
wordLists = []
tableView.reloadData()
setupDatabase(suggWords: currentWordToSearch)
tableView.isHidden = true
textField.resignFirstResponder()
}
가 더 나은 것 콘솔 로그를 추가 .. – karthikeyan
이 당신의 displayMainCell과 단어 목록 배열이 중첩 : 나는 다음과 같은 코드를 시도하는 것이 좋습니다 것? 즉 [[String]]입니까? 이 배열에 저장된 유형은 무엇입니까? –
@ karthikeyan는 콘솔 로그의 오류를 의미합니까? 지금까지 나는 어떤 문제에 직면하지는 않았지만 사용자는 무엇을했는지, 나는 무엇이 문제인지 모른다. – Drew