2015-04-14 2 views
-1

в моем приложении У меня есть класс под названием «Main», который создает переменную «cod» и присваивает ей значение 0, и внутри этого класса есть кнопки, которые нажаты, измените значение переменной «cod» и перекиньте меня в другой макет, к которому обращается другой класс. В этом другом классе необходимо получить доступ к значению переменной, измененной кнопкой, но когда я использую println для проверки доступного значения, он возвращает мне значение 0 без изменения. Я отправлю код.переменная доступа из одного класса в другом классе в swift

класс Main: UIViewController {

вар треска = 0

@IBAction func btnSp(sender: AnyObject) { 

    var storyboard = UIStoryboard(name: "Main", bundle: nil) 
    var controller = storyboard.instantiateViewControllerWithIdentifier("viewConsultas") as UIViewController 
    self.presentViewController(controller, animated: true, completion: nil) 

    cod = 1 

} 

и в моем другом классе

var dados = Main().cod 

    println(dados) 

я делаю что-то неправильно, вы не можете изменить значение «треска» и доступ к другому классу?

+0

где вы печатали значение во втором классе? –

ответ

1

Main() создает новый объект, который означает, что это не то же самое, что Main вы использовали, чтобы изменить переменную.

Вам необходимо либо передать существующий экземпляр Main другому классу, либо сделать доступную переменную где-нибудь, к которой могут обращаться оба класса (например, модель данных).

+0

И посмотрите обсуждение этого различия (новый экземпляр против существующего экземпляра) в моей книге: http://www.apeth.com/swiftBook/ch04.html#SECinstanceRefs – matt