SORU
6 Mayıs 2011, Cuma


Objc_setAssociatedObject nedir() ve durumlarda kullanılan ne olmalıdır?

Üzerine almış bir proje, orijinal yazar objc_setAssociatedObject() kullanmaya karar vermiştir ve ne yaptığını ya da bunu kullanmaya karar verdiler neden 100% emin değilim.

Bak ve ne yazık ki, doktorlar amacı hakkında çok açıklayıcı değil mi karar verdim.

objc_setAssociatedObject
Belirli bir nesne, belirli anahtar ve ortaklık ilkesi kullanarak ilişkili bir değeri ayarlar.
void objc_setAssociatedObject(id object, void *key, id value, objc_AssociationPolicy policy)
Parametreleri
object
Kaynak Derneği için nesne.
key
Dernek için önemli.
value
Nesne için anahtar anahtar ile ilişkilendirmek için değer. Nil mevcut bir dernek temizlemek için pas.
policy
Derneğin ilkesi. Olası değerler için, “İlişkisel Davranışları Nesne.

Bu işlev, tam olarak ne iş yapar ve hangi durumlarda kullanılmalıdır?


Okuduktan sonra cevap yazınız

Aşağıdaki kodu anlamı nedir?

Device *device = [self.list objectAtIndex:[indexPath row]];
DeviceViewController *next = [[DeviceViewController alloc] initWithController:self.controller
                                                                            device:device
                                                                               item:self.rootVC.selectedItem];  
    objc_setAssociatedObject(device, &kDeviceControllerKey, next, OBJC_ASSOCIATION_RETAIN);

Eğer zaten bir örnek değişkeni ise görünüm denetleyici ile aygıt ilişkilendirme anlamı nedir?

CEVAP
6 Mayıs 2011, Cuma


objc_setAssociatedObject Objective-C, her bir nesne için anahtar değeri bir mağaza ekler. Nesnenin örnek değişkenleri değil yansıtılması için ek bir durum sağlar.

Ana uygulama dışında şeyler bir nesneye ait saklamak için çok uygun. Ana kullanım durumları ekleyin örnek değişkenleri edemiyor nereye kategoride. Burada objc_setAssociatedObject self nesneye ek değişkenleri eklemek için kullanın.

Doğru örgütlenme ilkesi kullanırken nesneleri ana nesne ayırmanın ne zaman çıkacak.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • andony5589

    andony5589

    7 Aralık 2011
  • Chilla Frilla™

    Chilla Frill

    7 Aralık 2006
  • IGN

    IGN

    19 EYLÜL 2006