我有一个uitableview,里面装满了核心数据对象。我需要将选定行的对象传递给详细视图控制器。以下是我的代码: 提醒屏幕:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "ShowAlertDetails" {
if let destination = segue.destinationViewController as? AlertDetailsViewController {
if let blogIndex = tblvwAlerts!.indexPathForSelectedRow()?.row {
let objAlert:Alert = arrReferrals[blogIndex] as! Alert
destination.objAlert = objAlert
}
}
}
}
详情视图控制器:
class AlertDetailsViewController: UIViewController {
@IBOutlet weak var tblvwHitDetail: UITableView?
var objAlert:Alert = Alert()
当我尝试将对象从第一页复制到详细信息页面时,我收到以下错误:
CoreData: error: Failed to call designated initializer on NSManagedObject class 'Alert'
答案 0 :(得分:0)
错误是由var objAlert中调用Alert()方法引起的:Alert = Alert()。您可以将Alert设置为隐式解包值var objAlert:Alert!。它最初为零,然后它将保存从前一个控制器传递的被管理对象的引用。