Objective-C İki ViewController arasında veri aktarma
Objective-C’de iki ekran yani iki viewController arasında veri aktarmanın çeşitli yolları var. Eğer storyboard üzerinde A ekranından (AviewController) B ekranına (BviewController) segue (geçiş) tanımlanmışsa bu geçiş yapılmadan hemen önce – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender fonksiyonunu kullanarak B’nin bir değişkenine değer aktarabiliriz.
Bunun için öncelikle BviewController.h dosyası AviewController.h dosyasında import edilir. Böylece B nesnesi A’da kullanılabilir.
#import BviewController.h
Sonra AviewController.m dosyası içerisinde – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender fonksiyonu tanımlanır.
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ if ([[segue identifier] isEqualToString:@"segDeneme"]) //birden fazla segue varsa storyboard üzerinde seguenize bir isim vermelisiniz. { BViewController *bvc = [segue destinationViewController]; bvc.stringDegisken=@"A'dan B'ye selam olsun"; //tabi BviewController'da string tipinde stringDegisken isimli bir değişkenin tanımlandığını varsaydık } }
Bir sonraki yazıda BviewController’da işimiz bitince AviewController’a nasil veri gönderebileceğimize değineceğim.