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

  • Jay Will

    Jay Will

    19 NİSAN 2006
  • LevelUpTuts

    LevelUpTuts

    20 Ocak 2012
  • NicoleGrippo

    NicoleGrippo

    14 Kasım 2006