Swift'de, bir özelliğin yalnızca harici olarak okunacağı, ancak ona sahip olan sınıf (ve alt sınıflar) tarafından dahili olarak değiştirilebilir olduğu ortak modeli tanımlamanın geleneksel yolu nedir?
Objective-C'de aşağıdaki seçenekler vardır:
- Özelliği arabirimde salt okunur olarak bildirin ve özelliğe dahili olarak erişmek için bir sınıf uzantısı kullanın. Bu mesaj tabanlı erişimdir, dolayısıyla KVO, atomiklik vb. İle iyi çalışır.
- Özelliği arabirimde salt okunur olarak bildirin, ancak destek ivarına dahili olarak erişin. Bir ivar için varsayılan erişim korumalı olduğundan, bu, alt sınıfların da değeri değiştirebildiği, ancak alanın aksi takdirde salt okunur olduğu bir sınıf hiyerarşisinde iyi çalışır.
Java'da kural şöyledir:
- Korunan bir alanı bildirin ve herkese açık, salt okunur bir alıcı (yöntem) uygulayın.
Swift'in deyimi nedir?
var
anahtar kelimeyi derlemek için ekleme özgürlüğünü aldım .)