我正在開發一個使用CoreData和Swift的基於表視圖的應用程序。我試圖將NSManagedObject從一個視圖控制器傳遞到另一個視圖控制器。下面是我的代碼和錯誤,我得到。將NSManagedObject從一個視圖控制器傳遞到另一個視圖控制器
在ViewController1.swift
我有以下代碼:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if segue.identifier == "Edit" {
var selectedItem: NSManagedObject = myData[self.tableView.indexPathForSelectedRow().row] as NSManagedObject
let vc2: ViewController2 = segue.destinationViewController as ViewController2
vc2.item = selectedItem
}
}
在ViewController2.swift
:
class ViewController2: UIViewController {
@NSManaged var item : NSManagedObject
override func viewDidLoad() {
super.viewDidLoad()
}
// Other default func
}
錯誤,當我原因請看ViewController2
:
[_TtC6myData18ViewController2 setItem:]: unrecognized selector sent to instance 0x111530000
嘗試刪除@ NSManaged,這是我的理解,只能用於NSManagedObject的子類,而不是視圖控制器。 – rdelmar
@rdelmar當我這樣做時,它說類ViewController2沒有初始化器 – Led
var item:NSManagedObject!或var item:NSManagedObject?我不確定你應該使用哪一個。 – rdelmar