2016-10-03 106 views
0

目前正在使用我的应用程序,以学习swift(Im全新)。我遇到了一个我无法解决的错误。 我有两个视图控制器,因此ViewController &设置我的故事板中的两个视图。错误UIViewController没有成员

在“设置”视图我有一个textfield,并在“视图控制器”视图我有一个标签。

我想通过从文本框的文本上的“设置”我的标签“视图 - 控制”

目前我得到以下错误:

value of type 'UIViewController' has no member 'ViewController'

我的代码看起来有点像这样的输入现场:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    var secondVC: ViewController = segue.destination.ViewController as ViewController 

    secondVC.receivedString = textField.text! 
} 

的标签:

class ViewController: UIViewController { 

@IBOutlet var city: UILabel! 
var receivedString: String = "" 


override func viewDidLoad() { 
    super.viewDidLoad() 


    label.text = receivedString 
} 

的“label.text”给我一个悬而未决的标识符太..

回答

1

要获得目标viewController斯威夫特三是只是segue.destinationsegue.destination.ViewController

var secondVC = segue.destination as! ViewController 

对于你声明UILabel与名city秒误差不label所以它必须是city.text = receivedString

+0

嗯,它并删除错误,如果我决定说: 覆盖FUNC准备(对于SEGUE: UIStoryboardSegue,发件人:任何?){ let secondVC = segue.destination as! ViewController secondVC.label = textField.text! –

+0

我想这就是我所做的?这不是最佳做法吗? –

+0

@JeppeC在你的问题中,你传递的对象是'receivedString',并在'viewDidLoad'中分配城市标签的文本,这是传递数据的正确方法,因为在'prepare(for:sender:)'UILabel对象没有初始化然而。 –

相关问题