【发布时间】:2015-03-09 05:05:52
【问题描述】:
好的,我已经经历了所有应该解决这个问题的线程,但似乎没有一个能解决我的问题。
基本上我有一个带有核心数据的 tableview 设置,当我进入下一个视图控制器时,我想传递一些数据。如您所知,传递的数据必须已经在目标视图控制器中声明,它就是。但我不断收到错误消息,说 ViewController 没有成员名称 nItem(我正在传递的变量)。
这是处理从表视图控制器传递数据的代码部分:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
if segue.identifier == "editCurrentMed" {
let cell = sender as UITableViewCell
let indexPath = tableView.indexPathForCell(cell)
let addEditMedVC : ViewController = segue.destinationViewController as ViewController
let nItem : Meds = frc.objectAtIndexPath(indexPath!) as Meds
addEditMedVC.nItem = nItem
}
}
这是我的视图控制器的顶部,它声明变量以及视图确实加载部分,因为它在编辑数据时访问它。
import UIKit
import CoreData
class addEditMedVC: UIViewController {
var nItem : Meds? = nil
@IBOutlet weak var medName: UITextField!
@IBOutlet weak var dosage: UITextField!
@IBOutlet weak var timeToTake: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
if nItem != nil {
medName.text = nItem!.name
dosage.text = nItem!.dose
nItem!.time = "Morning"
}
// Do any additional setup after loading the view.
}
非常感谢任何帮助。提前致谢。
【问题讨论】:
-
让 addEditMedVC : ViewController = segue.destinationViewController 作为 ViewController。 “ViewController”不应该是“addEditMedVC”。
-
我不确定你的意思 aToz
-
这是 (addEditMedVC.nItem = nItem) 给你错误的行吗?
-
是的,这是错误行。
-
改变这一行 let addEditMedVC : ViewController = segue.destinationViewController as ViewController 让 addEditMedVC : addEditMedVC = segue.destinationViewController as addEditMedVC
标签: variables swift core-data member