當我輸入模塊名稱的值時,我一直遇到XCode終止問題。它只發生一半的時間,所以有一分鐘它正在工作,值被保存到陣列,應用程序終止的下一分鐘。請幫忙。Swift 2.1陣列錯誤 - 在解包任意值時意外發現爲零
的DetailView ControllerCode:
var courseWork: CourseWork? {
didSet {
dispatch_async(dispatch_get_main_queue()) {
self.configureView()
}
}
}
func configureView() { // Update the user interface for the detail view
if let detail = self.courseWork {
self.title = detail.valueForKey("courseWorkName")!.description
textFields[0].text = detail.valueForKey("moduleName") as? String //Error with this line
textFields[1].text = detail.valueForKey("markAwarded") as? String
func setupUIElements() {
//text fields
for textF in textFields {
textF.delegate = self
}
textView.delegate = self
}
代碼2:
func saveTHeCourseWork(fieldName: String, value: AnyObject) {
courseWork?.setValue(value, forKey: fieldName)
do {
try courseWork?.managedObjectContext?.save()
} catch {
let saveError = error as NSError
print(saveError)
}
}
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if textField == textFields[0] { // module name field
saveTHeCourseWork("moduleName", value: textFields[0].text!)
} else if textField == textFields[1] { // mark awarded
saveTHeCourseWork("markAwarded", value: textFields[1].text!)
}
return true
}
錯誤:
fatal error: unexpectedly found nil while unwrapping an Optional value
什麼'textFields'和'detail'?他們是否被定義爲隱式解包選項?發佈代碼的相關部分。 – ozgur
通過包含更多相關代碼改進了問題 –
@IOSProgrammer您仍未顯示如何定義'textFields'和'courseWork' - 請使用這些定義編輯您的問題。 – Hamish