Soru & Cevap

IBOutlete farklı bir viewcontrollerden ulaşmak ...

21.02.2015 - 01:57

Birinci ViewControllerimde  textview içerisinde bir yazı yer alıyor. Bunu IBOutlet ile tanımladım.
ikinci ViewControllerimde ise bu IBOutlete erişip bu değeri değiştirmek isteyince nil hatası alıyorum.

[code]

import UIKit
class BirinciViewController: UIViewController  {

@IBOutlet weak var myTextView: UITextView!

override func viewDidLoad() {
super.viewDidLoad()
myTextView.text = "merhaba Dünya!"
}

}

[/code]

İkinci ViewController:
[code]
import UIKit
class IkinciViewController: UIViewController  {

override func viewDidLoad() {
super.viewDidLoad()
println(BirinciViewController().myTextView?.text)  // işte bu satırda mevcut içeriği görüntülemek istiyorum nil geliyor.
}

}
[/code]

3 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-3650-1421928561.jpg
anilsozeri
21.02.2015 - 02:01

Merhaba,

2. ViewController'a geçtiğinizde 1. ViewController'ın yaşam döngüsü sona erdiğinden dolayı oradaki TextView'e erişemezsiniz.

İyi çalışmalar.

Burhan Aksendir
21.02.2015 - 02:03
Anladım. Peki ikinci viewcontroller'e geçişin sequesini present as popover olarak ayarladığımda da durum aynı mı olur ?
Anıl SÖZERİ
21.02.2015 - 02:07
Daha önce kullanmadım ama Popover olarak açtığınızda bulunduğunuz controller üzerinden pencere gibi açılacağından ötürü muhtemelen istediğiniz sonucu elde edeceksinizdir.
Burhan Aksendir
21.02.2015 - 02:10
Denedim şimdi ama yine de aynı şekilde içeriği göstermiyor. Proje dosyası olarak sizinle paylaşsam inceleme şansınız olur mu? Dünden beri uğraşıyorum olmuyor
Anıl SÖZERİ
21.02.2015 - 02:22
1. ViewController'daki değeri 2. ViewController'da göstermek istiyorsanız veri aktarımı yaparak göstermeniz en doğru çözüm olacaktır, yani 2. ViewController'daki bir değişkene atama yapın sayfa geçişi sırasında.
Burhan Aksendir
21.02.2015 - 02:49
Teşekkür ederim. Navbardaki butona dokununca açılan popover içerisindeki slider ile 1.viewcontrollerdeki textviewin font boyutunu değiştirmek için uğraşıyorum. Ancak içeriğe erişmiyor.