【发布时间】:2015-03-03 02:41:57
【问题描述】:
当我尝试访问填充了 CoreData 数据的数组时。我收到 EXC_BAD_ACCESS 错误。
这是我的代码:
var endPointList: Array<SettingsModel> = []
override func viewDidLoad() {
var context = getManagedObjectContext()
let fetchRequest = NSFetchRequest(entityName: "SettingsEndpoint")
endPointList = context.executeFetchRequest(fetchRequest, error: nil) as [SettingsModel]
}
当我按下触发以下 IBAction 的按钮时出现错误:
@IBAction func showEndPointAlert(){
let alertController = UIAlertController(title: "Endpunkte Auswahl", message: "Wählen sie einen Endpunkt", preferredStyle: .Alert)
for endPoint : SettingsModel in endPointList {
var endPointNameFromData:String = endPoint.name as String
}
let cancelAction = UIAlertAction(title: "Abbrechen", style: .Cancel) { (_) in }
alertController.addAction(cancelAction)
self.presentViewController(alertController, animated: true, completion:nil );
}
调试器指向以下行:
var endPointNameFromData:String = endPoint.name as String
奇怪的是,如果我在它运行的 viewDidLoad() 方法中执行此代码。这是为什么呢?
更新:
现在来自 Mundi 的一些编辑。我得到一个稍微不同的错误:
2015-01-06 12:18:21.818 ShareExtension[1056:20857]
-[SettingsModel name]: unrecognized selector sent to instance 0x6080000b2fc0
2015-01-06 12:20:24.755 ShareExtension[1056:20857]
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '
-[SettingsModel name]: unrecognized selector sent to instance 0x6080000b2fc0'
我的 SettingsModel 类:
import UIKit
import CoreData
@objc(SettingsModel)
class SettingsModel: NSManagedObject {
@NSManaged var name:String
@NSManaged var webservice:String
@NSManaged var service:String
}
【问题讨论】:
-
中断时的调试器消息是什么?
标签: ios xcode core-data swift share