Soru & Cevap

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

20.08.2014 - 07: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 ?

4 Görüntülenme

1 Cevap

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

picture-3650-1421928561.jpg
anilsozeri
20.08.2014 - 07: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.

Ibrahim Erkaplan
02.09.2014 - 09: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.
Yasin aktimur
20.08.2014 - 08:08
yani ben secontview'da onu load etmeden oradaki methodu nasıl çalıştırabilirim ?
Anıl SÖZERİ
20.08.2014 - 08: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 - 08: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 - 08: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 - 09:37
Aradığım şey prepareForSegue methoduymuş teşekkürler.
Anıl SÖZERİ
20.08.2014 - 09:48
Rica ederim, iyi çalışmalar.