Örnekte, mapView1bir bir örneği değişken (ivar) 'de tanımlandığı sınıfının bir örneğine ait bellek depolama parçası example.hve example.m. mapViewbir mülkün adıdır . Özellikleri okumak veya nokta gösterimi kullanılarak ayarlanabilir bir nesnenin nitelikleri şunlardır: myObject.mapView. Bir mülk bir ivar'a dayalı olmak zorunda değildir , ancak çoğu mülktür. @propertyDeklarasyon basitçe adında bir özellik olduğu dünyayı anlatır mapView.
@synthesize mapView = mapView1;
Bu satır derleyiciye bir ayarlayıcı ve alıcı oluşturmasını söyler ve mapViewçağrılan ivar'ı kullanmaları gerekir mapView1. = mapView1Parça olmadan, derleyici, özellik ve ivar'ın aynı ada sahip olduğunu varsayar. (Bu durumda, derlenmiş bir hata üretilir, çünkü çağrılan bir ivar yoktur mapView.)
Bu @synthesizeifadenin sonucu, bu kodu kendiniz ekleyip eklemediğinize benzer:
-(MKMapView *)mapView
{
return mapView1;
}
-(void)setMapView:(MKMapView *)newMapView
{
if (newMapView != mapView1)
{
[mapView1 release];
mapView1 = [newMapView retain];
}
}
Bu kodu sınıfa kendiniz eklerseniz, @synthesizeifadeyi
@dynamic mapView;
Ana şey, ivarlar ve özellikler arasında çok açık bir kavramsal ayırım yapmaktır. Bunlar gerçekten çok farklı iki kavram.