Turkcell | Geleceği Yazanlar

Soru & Cevap

IBOutlete farklı bir viewcontrollerden ulaşmak

21.02.2015 - 13: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]

2128 Görüntülenme

1 Cevap

Anıl SÖZERİ
21.02.2015 - 14: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.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Burhan Aksendir
21.02.2015 - 14: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 - 14: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 - 14: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 - 14: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 - 14: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.

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