2011-03-22 19 views
5
@property (retain) int myInteger; 

Bu bir hata veriyor çünkü görünüşe göre int bir nesne olarak görülmüyor ... ama @synthetize ile bir getter/setter metodu yaratmanın avantajını elde etmek istiyorum ama int ile. Bunu nasıl başarabilirim? Eşdeğer var mı?Bir intikamcının/setterinin yapılması?

cevap

25
@property (assign) int chunkID; 

veya

@property (readonly) int chunkID; 

Sen tamsayılar gibi ilkel bir türü korumak olamaz. Sadece nesneler muhafaza edilebilir ...

+5

O zaman hangisini seçeceğimi bilecek sanırım ... – Macmade

+0

Her ikisini de kullanırsam sorun olur mu? @synthesize anahtarını iki kez mi koymak zorundayım? – Voldemort

+0

Hayır, aynı özellik için, sadece getter/setters yöntemleri (ilk örnek) veya sadece bir getter (ikinci örnek) – Macmade

9

bunu kullanın:

@property (nonatomic, assign) int chunkID; 

assign bunu bırakmak isteyebilirsiniz böylece varsayılan değerdir.

assign özellik türünü, ilkel nesne türüyle (örn. Int) uğraştığınız için kullanmanız gerekir. Bu tür bir tür korunamaz. Yalnızca NSObject alt sınıfları korunabilir/serbest bırakılabilir.

+0

olabilir. Belki de atomik olması gerekir ... – Macmade

+0

Bu iyi bir egzersiz olacaktır Omega anlamak isterse. – Sylvain

+0

...... ne nanotomik? Neden özür dilerim, bu dilde bir tür newbie yaşıyorum =/ – Voldemort

İlgili konular