SORU
16 Temmuz 2010, Cuma


Tam olarak @sentez nedir?

Aşağıdaki kod parçası gördüm:

//example.h
MKMapView * mapView1;
@property (nonatomic, retain) MKMapView * mapView;

//example.m
@synthesize mapView = mapView1

Ne ilişkisi . soru: ^strong>mapViewvemapView1? Oluşturmak yokayarlayınveolsunyöntem içinmapView1?

Teşekkürler !

CEVAP
17 Temmuz 2010, CUMARTESİ


, mapView1 örnek olurörnek değişken(ıvar), sınıf örneğine ait bellek depolama bir parça example.h example.m tanımlanmış. mapView bir adıdırözellik. Özellikleri veya nokta gösterimi kullanılarak okuma ayarlanabilen bir nesne öznitelikleri: myObject.mapView. Bir özelliği yokvarbir ıvar dayalı, ama çoğu özelliği vardır. @propertybildirimi sadece bir özelliği mapView adı verilen bir dünyayı anlatıyor.

@synthesize mapView = mapView1;

Bu çizgi ıvar mapView1 adlı kullandıkları bir kanepe oluşturmak için derleyici ve alıcı mapView, ve anlatıyor. = mapView1 kısmı olmadan, derleyici özelliği ve ıvar aynı ada sahip olduğu varsayılabilir. Ivar mapView. adı yok (çünkü bu durumda, derleyici bir hata üretir......)

@synthesize bu ifadenin sonucu, eğer bu kodu sizin eklediğiniz, benzer:

-(MKMapView *)mapView
{
   return mapView1;
}

-(void)setMapView:(MKMapView *)newMapView
{
  if (newMapView != mapView1)
  {
    [mapView1 release];
    mapView1 = [newMapView retain];
  }
}

Eğer sınıfın kendine bu kodu eklerseniz, @synthesize deyimini değiştirebilirsiniz

@dynamic mapView;

Ana şey bugün ivan'ın ve özellikleri arasında çok açık bir kavramsal ayrım var. Gerçekten çok farklı iki kavram.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AndroidSale

    AndroidSale

    17 NİSAN 2011
  • eHow

    eHow

    27 NİSAN 2006
  • Thom Hall

    Thom Hall

    24 Kasım 2006