Örneğin, bir özellik için bir willSet
ekleyecek bir sınıf örneğinde bir yöntem aramak istiyorum. Gözlemci içinde şartlı mantık eklemem gerekeceğinden, bildirimin içinde willSet
belirtmek zorunda kalmak istemiyorum ve bu yönteme sahip olmayan diğer her örnek için gereksiz yere koşulacaktı. Böyleİlk bildirimin ardından bir özellik gözlemcisi eklenebilir mi?
şey:
var someProperty: Int
func someMethod() {
someProperty { // this is the syntax/ability I'm unsure about
willSet { ...add some behavior... }
}
...more stuff...
}
Ah, bu yüzden araştırdığım şekilde yerel bir özellik değil. Bu çözüm, endişelendiğim iki konuyu ele almıyor: Her örnek, "willSet" i ve bunun sonucunda ortaya çıkan koşulu çalıştırmak zorunda kalacak. Gözlemciyi daha sonraki bir noktaya eklemedikleri sürece, örneklerin 'willSet'i' olmayan bir şekilde olmasını umuyordum. – solidcell
Endişeniz performansla mı ilgili? Çünkü yukarıdaki örnekte, sadece opsiyonel kapanma sıfır değilse ve kodun kontrol edilemediğini kontrol eden bir kodunuz olacaktır: = sıfır, göz ardı edilebilir performans oranlarına sahiptir. – cmyr
Bu kısmen dili keşfetmek için. Bununla birlikte, bir örnek olarak, bazı mantığı kapsülleyen bir uzantı eklemek istediğim bir durum hakkında düşünmekteyim ve bu özellik gözlemcisinin aynı uzantıda gruplanması gerekir. – solidcell