SORU
11 EKİM 2009, Pazar


Objective-C özellikleri ve Örnek Değişkenleri

Objective-C özellikleri ve örnek değişkenler hakkında kafam karışık değil

Aaron Hillegass ile "Mac OS X" ve her şey mantıklı. için Kakao Programlama yarı yolda üzereyim Böyle bir sınıf bir beyan:

@class Something;

@interface MyClass : NSObject {
    NSString *name;
    NSArray *items;

    Something *something;

    IBOutlet NSTextField *myTextField;
}

@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSArray *items;
  • Diğer eşyaları name items örnek bizim değişkenleri işlemek için gereken bu yana, */@synthesize *6/mutators set oluşturmak için kullanırız. Bizim sınıf içinde, mutators—biz sadece örnek değişkeni ile etkileşim/set doğrudan kullanmıyoruz.

  • something sadece bir örnek, değişken kullanacağız bizim sınıf, ve o zamandan beri kimse ihtiyacı için kullanması, yok oluştur bir çift set ve mutators için.

  • Bunun için IBOutlet, connect ilan ediyoruz yani bizim UI metin alanı ile etkileşime ihtiyacımız var, ve işimiz bitti.

Çok mantıklı.

Ancak, iPhone dünyada, her şey farklı görünüyor. İnsanlar her örnek değişken özelliklerini bildirmek, IBOutlets, mal bildiriminde ve set/mutators örnek değişkenleri ile etkileşim için kullanıniçindesınıf (örneğin [self setName:@"Test"] yazacaklarını yerine name = @"Test").

Neden? Neler oluyor? Bu farklar iPhone özgüdür? Tüm yerel değişkenler için özelliklerini bildirmek, IBOutlets, özelliklerini bildirmek ve kendi sınıfı içinde set/mutators kullanmanın avantajları nelerdir?

CEVAP
11 EKİM 2009, Pazar


İPhone dünyada, çöp toplayıcı yok hayır. Dikkatlice başvuru sayma bellek ile idare edeceksiniz artık. Zihin arasındaki farkı göz önünde bulundurun:

name = @"Test";

ve

self.name = @"Test";
// which is equivalent to:
[self setName: @"Test"];

Eğer direkt olarak örnek değişken, olmadan önce değerlendirme, kaybedersin başvuru için önceki değer ve edemezsin ayarlamak onun korumak count (released el ile). Sana bir özelliği üzerinden erişim, otomatik olarak, yeni atanan nesne sayısı artan korumak için birlikte ele alınacak.

Temel kavram iPhone özeldir ama çöp toplayıcı olmayan bir ortamda, çok önemli hale gelir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007
  • picster

    picster

    20 NİSAN 2006