SORU
17 AĞUSTOS 2009, PAZARTESİ


İçinde Objective-C neden = [super init] öz nil olup olmadığını kontrol etmeli miyim?

Objective-C init yazma yöntemleri hakkında genel bir sorum var

Her yerde (Apple'ın kodu, kitaplar, açık kaynak kodu, vb.) görüyorum ınit yöntemi = [super init] öz hazırlama ile devam etmeden önce nil olup olmadığını kontrol edin.

Init yöntemi için varsayılan Elma şablonu

- (id) init
{
    self = [super init];

    if (self != nil)
    {
        // your code here
    }

    return self;
}

Neden?

Init hiç nil dönüş oluyor yani? NSObject ınıt aradım ve geri nil var, o zaman bir şeyler gerçekten berbat olmalı? Ve bu durumda, hatta bir program yazabilirsin

Gerçekten bir sınıf' ınit yöntemi nil döndürebilir? ortak mı bu Yani, ne durumda, ve neden?

CEVAP
17 AĞUSTOS 2009, PAZARTESİ


Bu özel deyim her durumda çalışır, çünkü standart.

Nadir olsa da, durumlarda yapılacaktır

[super init];

... döner farklı bir örnek, kendini tahsisi gerektirecek böylece.

Ve nil döndürecektir durumlarda, böylece artık var olmayan kodunuzu bir örneğini başlatmak için deneyin olmadığını kontrol değişkeni nil yuvası gerektiren olacak.

Alt çizgi kullanmak için belgelenmiş doğru desen ve, eğer bunu kullanarak değilse, yanlış yapıyorsun.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hans peder sahl

    hans peder s

    22 Temmuz 2009
  • PomplamooseMusic

    PomplamooseM

    28 HAZİRAN 2008
  • Techmoan

    Techmoan

    31 Mayıs 2009