2012-02-09 14 views
16

"- (id) init" in "ViewController", storyboard'u kullanırken yürütülmez. init değiştirebilecek başka bir yöntem var mı, yoksa ateşlemeyi başlatmaya zorlanıyor."- (id) init" storyboard kullanırken ViewController'da ateş etmeyin

+2

Ne yapmaya çalışıyorsunuz? Diğer bazı yöntemler vardır: -initWithNibName: bundle: ', -viewDidLoad', 'viewDidAppear:', vb. Yapmak istediğinize bağlı olarak, bunlardan biri daha iyi bir seçim olabilir. – user1118321

cevap

37

- (id)initWithCoder:(NSCoder*)aDecoder 
{ 
    if(self = [super initWithCoder:aDecoder]) 
{ 
     // Do something 
    } 
    return self; 
} 
+1

InitWithNibName'ın nedeninin kullanılmadığının, storyboard'lar ile bir nib dosyası kullanmadığınızdan kaynaklandığına inanıyorum. Teşekkürler @NeverBe, initWithCoder benim için de koştu. @Ant için – Ant

+0

+1 - cevabın içindeki kod doğru çözümdür, ancak açıklamayı kaçırmıştı - ki daha sonra temizlendi. –

3

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle yerine denir kullanmayı deneyin.

Yukarıdaki yorumda belirtildiği gibi, geçersiz kılmak için daha uygun bir yöntem olup olmayacağına karar vermeniz gerekir. Görünümün initWithNibName yöntemine henüz yüklenmediğini unutmayın, bu nedenle henüz oradaki herhangi bir şeyi değiştirmeye çalışmayın.