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.