[英]Pass NSManagedObject from one view controller to another
我正在使用帶有Swift的CoreData開發基於表視圖的應用程序。 我正在嘗試將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子類中的屬性,因此不應在您的情況下使用它。 這應該工作,
class ViewController2: UIViewController {
var item : NSManagedObject!
override func viewDidLoad() {
super.viewDidLoad()
}
// Other default func
}
在異常上設置斷點,以便您可以看到NSException
的實際錯誤/消息是什么。 您還可以看到它被拋出的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.