2015-02-09 5 views
0

Я пытался перечислить некоторые ярлыки на другом контроллере представления, но я не могу его обработать.segue к другому контроллеру представления

мой первый контроллер мнение:

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] 
     } 

ответ

0

Я думаю, что знаю вашу проблему. Кажется, вы передаете массив String в строковый объект.

Может быть, вы можете изменить переменное вашей второй вид контроллера быть:

var vc2Labels: [String]! 

, но я бы не рекомендовал использовать неявные развёртки факультативного, так как она позволяет переходящую в ноле из. Вы можете объявить пустой массив следующим образом.

var vc2Labels = [String]() 

Надеюсь, что это поможет. Больше контекста было бы полезно.

+0

мой второй контроллер выглядит, кажется, сейчас работает нормально, но в моем первом контроллере, где у меня есть «controller.vc2Labels = pickerLabels», pickerLabels показывает ошибку «String» не идентичен «String» –

+0

Какой метод вы использовали ? Возможно, я могу попытаться воспроизвести ошибку на моей игровой площадке, чтобы я мог помочь вам дальше. – geekveek

+0

let optionalStrings: [String!] = ["Test", "test2"] \ n let строки: [String!] = OptionalStrings – geekveek

Смежные вопросы