SORU
15 EYLÜL 2008, PAZARTESİ


Nasıl NSAutoreleasePool autorelease havuz çalışır?

Anladığım kadarıyla, herhangi bir şey ile oluşturulmuşayırma,yeniyakopyalael ile serbest bırakılması gerekir. Örneğin:

int main(void) {
    NSString *string;
    string = [[NSString alloc] init];
    /* use the string */
    [string release];
}

Benim sorum, bu gibi geçerli olmaz mıydı ama?:

int main(void) {
    NSAutoreleasePool *pool;
    pool = [[NSAutoreleasePool alloc] init];
    NSString *string;
    string = [[[NSString alloc] init] autorelease];
    /* use the string */
    [pool drain];
}

CEVAP
15 EYLÜL 2008, PAZARTESİ


Evet, ikinci kod snippit tamamen geçerli.

Her zaman autorelease bir nesne gönderilir, iç en autorelease havuzuna eklenir. Havuz boşaltılır, sadece yayın havuzundaki tüm nesneler için gönderir.

Autorelease havuzları sadece size göndermeyi ertelemek için izin veren bir kolaylık vardır -serbest"". daha sonra "Daha sonra" çeşitli yerlerde olabilir, ama Kakao GUI uygulamalarında en yaygın geçerli çalıştırın döngü döngü sonunda.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • SelmerSaxMan

    SelmerSaxMan

    24 HAZİRAN 2006
  • ShotgunSandwichENT

    ShotgunSandw

    3 EKİM 2012
  • spectragirlz16's channel

    spectragirlz

    22 Ocak 2012