두 개의 핵심 데이터 엔티티가 있는데, 각각 다른 엔티티와의 관계가 많습니다. tableView
을 사용하여 사용자가 주어진 제안과 관련된 wageClasses를 선택할 수 있습니다. 프로젝트는 Swift 3, iOS 10.2.1이며 편집기 메뉴에서 NSManagedObject
하위 클래스를 사용하고 있습니다.5 개 이상의 관련 개체를 추가 할 때 핵심 데이터 응용 프로그램이 작동하지 않습니다.
제안서에 여섯 번째 wageClass를 추가 할 때까지이 모든 기능이 훌륭합니다. 참고 : WageClass 배열에 처음 5 개 이외의 값을 추가하려고하면 충돌이 발생합니다. 그러나 배열을 인쇄 할 때 배열에있는 값만큼 인쇄합니다. 앱이 오류로 인해 충돌합니다. 예기치 않게 찾지 못하면 선택 값을 래핑하지 않습니다.
또한 스레드 1 : EXC_BREAKPOINT 오류가 발생하지만 중단 점 탐색기와 lldb는 중단 점을 표시하지 않습니다.
나는 wageClasses를 개별적으로 추가하고, 다른 순서로 추가하고, 최대 wageClasses를 생성하여 이것을 테스트했습니다 (tableView
에로드되지 않은 마지막으로 생성 된 wageClass의 문제점인지 확인하기 위해) 그러나 운이 없다, 나는 같은 결과를 얻는다. 내가 추가 해요 곳
은 다음과 같습니다 귀하의 의견에 대한
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "AddWageClassCell", for: indexPath)
let wageClass = wageClasses[indexPath.row]
let wageClassStatus = wageClass.value(forKey: "checked") as? Bool ?? true
cell.textLabel?.text = wageClass.value(forKey: "wageClassName") as? String
var accessoryType = UITableViewCellAccessoryType.none
var tintColor = UIColor.clear
if (wageClassStatus) {
accessoryType = UITableViewCellAccessoryType.checkmark
tintColor = UIColor.green
}
cell.accessoryType=accessoryType
cell.tintColor = tintColor
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
let wageClassObject = self.wageClasses[indexPath.row]
var wageClassStatus = wageClassObject.value(forKey: "checked") as? Bool ?? false
wageClassObject.setValue(!wageClassStatus, forKey:"checked")
proposalToEdit?.addToWageClasses(wageClassObject)
do {
try
ad.saveContext()
} catch let error as NSError {
print("Cannot save object: \(error), \(error.localizedDescription)")
}
tableView.deselectRow(at: indexPath,animated:false)
tableView.reloadRows(at: [indexPath], with: .none)
}
감사합니다!
"선택 '?'값이 있고 'nil'은 반환되지 않습니다. 'nil'은 실제로 아무것도 아닙니다. 반드시 'unwrap'해야합니다. ''. – Mannopson
아이디어 왜 처음 5 개를 불만없이 추가 할 수 있습니까? 왜 그 숫자가 여섯 번째로 밖에 없습니까? – camelCaseUpInYourFace
이전에 같은 종류의 코드가 작동 했습니까? 왜 6 개가 필요한가요? 6 테이블 뷰 컨트롤러? – Mannopson