转到另一个视图控制器
segue to another view controller
我一直在尝试将一些标签转移到另一个视图控制器,但我似乎无法解决。
我的第一个视图控制器:
import UIKit
class firstViewController: UIViewController,UITextFieldDelegate {
@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!
@IBOutlet weak var label3: UILabel!
@IBOutlet weak var label4: UILabel!
@IBOutlet weak var label5: UILabel!
@IBOutlet weak var label6: UILabel!
var pickerLabels: [String!] {
return [label1.text,label2.text,label3.text,label4.text,label5.text,label6.text]
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let controller = segue.destinationViewController as thirdViewController
controller.vc2Labels = pickerLabels //pickerLabels shows error
}
}
此处的标签是我要继续搜索的内容,但 "pickerLabels" 一直出现错误
我的第二个视图控制器:
import UIKit
class secondViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
var vc2Labels: [String]!
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int{
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component:Int) -> Int{
return vc2Labels.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!{
return vc2Labels[row]
}
我想我知道你的问题。您似乎将一个字符串数组传递给一个字符串对象。
也许您可以将第二个视图控制器的变量更改为:
var vc2Labels: [String]!
但我不建议使用可选的隐式解包,因为它允许传入 nil。您可以像这样声明一个空数组。
var vc2Labels = [String]()
希望这对您有所帮助。更多上下文会有所帮助。
我一直在尝试将一些标签转移到另一个视图控制器,但我似乎无法解决。
我的第一个视图控制器:
import UIKit
class firstViewController: UIViewController,UITextFieldDelegate {
@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!
@IBOutlet weak var label3: UILabel!
@IBOutlet weak var label4: UILabel!
@IBOutlet weak var label5: UILabel!
@IBOutlet weak var label6: UILabel!
var pickerLabels: [String!] {
return [label1.text,label2.text,label3.text,label4.text,label5.text,label6.text]
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let controller = segue.destinationViewController as thirdViewController
controller.vc2Labels = pickerLabels //pickerLabels shows error
}
}
此处的标签是我要继续搜索的内容,但 "pickerLabels" 一直出现错误
我的第二个视图控制器:
import UIKit
class secondViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
var vc2Labels: [String]!
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int{
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component:Int) -> Int{
return vc2Labels.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!{
return vc2Labels[row]
}
我想我知道你的问题。您似乎将一个字符串数组传递给一个字符串对象。
也许您可以将第二个视图控制器的变量更改为:
var vc2Labels: [String]!
但我不建议使用可选的隐式解包,因为它允许传入 nil。您可以像这样声明一个空数组。
var vc2Labels = [String]()
希望这对您有所帮助。更多上下文会有所帮助。