Turkcell | Geleceği Yazanlar

Soru & Cevap

Uygulama başladığında 2. viewin didloadını çalıştırmak

20.08.2014 - 19:06

Merhabalar .

Bende 1 ViewController birde SecontViewController var.

1. viewcontroller buttonundan NSNotification gönderiyorum Secontviewcontroller'a ve bunun viewdidloadındada

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( receiveNotificaiton: ) name:@"Twitter" object:nil];

 


}

-(void)receiveNotificaiton: (NSNotification *) notification {
    NSLog(@"TWİTTER");
}

böyle bir kod var ve bu şekilde 1. viewdan ikinci viewa veri gönderebiliyorum fakat bunu yapabilmek için 2. view'i didload etmiş olmam gerekiyor bunu 2. viewi didload etmedende nasıl yapabilirim ?

2111 Görüntülenme

1 Cevap

Anıl SÖZERİ
20.08.2014 - 19:57

Merhaba,

Bildiğim kadarıyla bunun bir yolu yok fakat hileli bi yöntemi olabilir. :) Aklıma şu anda o gelir ki yanlış bir çözüm;

1.ViewController'da postNotification işlemini yapmadan hemen önce bir sonraki ViewController'a yönlenip dismiss ile geri dönersen addObserver aktif olacaktır.

NSNotificationCenter genel olarak;

viewDidAppear da addObserver ile dahil edilir, viewDidDisappear metodunda da removeObserver ile kaldırılır, tabi ihtiyaca göre farklı kullanımları da mümkün. 

İyi çalışmalar.

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

Yasin aktimur
20.08.2014 - 20:08
yani ben secontview'da onu load etmeden oradaki methodu nasıl çalıştırabilirim ?
Anıl SÖZERİ
20.08.2014 - 20:14
Çalıştıramazsın diye biliyorum, ben hileli bir çözüm sundum sadece, belki başka bir yolu vardır ama sanmıyorum.
Yasin aktimur
20.08.2014 - 20:19
Peki ben facebook ile giriş yaptırıyorum kullanıcılara kullanıcı adı, email, foto çekiyorum 2. view'e gidiyor sonra ben gelen verileri 2. viewde notification haricinde nasıl gönderebilirim. ?
Anıl SÖZERİ
20.08.2014 - 20:27
Segue kullanıyorsan eğer prepareForSegue metodunun kullanımını inceleyebilirsin yok eğer normal [self presentViewController...] şeklinde yapıyorsan eğer 2.viewinde tanımladıgın @property NSString *userName; oldugunu varsayalım; secondViewController.userName = userName; (1.ViewControllerdaki) dedikten sonra sayfayı yönlendirebilirsin. http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers
Yasin aktimur
20.08.2014 - 21:37
Aradığım şey prepareForSegue methoduymuş teşekkürler.
Anıl SÖZERİ
20.08.2014 - 21:48
Rica ederim, iyi çalışmalar.
Ibrahim Erkaplan
02.09.2014 - 21:31
prepareForSegue kesinlikle doğru yol, notificatons yapısında bir önerim olacak bence kesinlikle kullanmaya alışma, bunun yerine delegate yada blog yapısı kullanmalısın.

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