SORU
31 Temmuz 2011, Pazar


Nasıl YAY kullanarak ve 4.0 iOS gösterirken, zayıf başvuruları değiştiririm?

Benim ilk geliştirmeye başladım uygulaması ile iOS 4.2 ve iOS 5.0 ile bir hedef "uygulama" (bir FlipsideViewController ile birlikte gelen bir şablon. yardımcı Güncellemelerinden

ARC-derleme özelliği bir yana, 4.3 ve derleme deneyin uygulamamı hedef haline getirmeye çalıştı, bu yüzden iOS 4 ile uyumlu olması gerektiğini okumuştum. Ben bunu, bu hata alıyorum:

FlipsideViewController.m: hata: Otomatik Referans Sayma Sorunu: mevcut dağıtım hedef __zayıf otomatik referanslar desteklemiyor

Bu çizgi referans:

@synthesize delegate = _delegate;

Bu değişkeni olarak ilan etti

@property (weak, nonatomic) IBOutlet id <FlipsideViewControllerDelegate> delegate;

Anladığım kadarıyla bu "zayıf başvurular" desteklenmez iOS 4, ama ben bile tam olarak anlayabilmiş değilim neden isteyeceğim için kullanmak zayıf bir başvuru ile başlamak için, ne de ben anlamak istediğim şeyler yazmak için kullanmaktan kaçının, hala üzerinde çalışıyorum ARC (tüm sonra, bu sözde çalışmak için iOS 4 VE 5 değil mi?)

CEVAP
5 AĞUSTOS 2011, Cuma


Eski OS hedef, emlak beyannamesi weak yerine unsafe_unretained kullanabilirsiniz, ve çoğunlukla aynı şekilde çalışması gerekir. weak başvurular hedefleri gittiğinde ise kendilerini nil, ama unsafe_unretained açık bağlandığınız nesne ayırmanın ne zaman sarkan bir işaretçi dönüşebilir olasılığını açık bırakıyor. İkincisi ise manuel bellek yönetimi emlak ilan assign kullanmış olsaydınız aynı davranışı.

Bu benim cevap here bahsettiğim hangi korumak döngüleri, önlemek için. Güçlü bir işaretçi orijinal nesneyi geri olabilecek bir şey için güçlü bir işaretçi var istemiyorum. Sonra hiçbir şey düzgün serbest olacaktı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 0TACTICAL0HIPPY0

    0TACTICAL0HI

    30 EYLÜL 2012
  • Emotional Trancer

    Emotional Tr

    4 Mart 2010
  • MrSuicideSheep

    MrSuicideShe

    9 NİSAN 2010