Merhabalar bu yazımda Swift 5 ile aramıza katılan @dynamicCallable özelliğinden bahsedeceğim.
Bu işlev bizlere Class, Struct yapısını yaratan değişken nesnesi üzerinden parametreler ile işlem yapmamızı sağlamaktadır.
Örnek ile olaya bir göz atalım.
@dynamicCallable class User { func getUserWithId(_ id:Int) -> Int { return id + 999 } func dynamicallyCall(withArguments id: [Int]) -> Int { return getUserWithId(id[0]) } } let user = User() let result = user(1) // 1000
Sınıfa eklenen dynamicallyCall fonksiyonu içerisine nesneler gönderebiliyoruz. Bunun yanı sıra key, value yapısında parametrelerde gönderebiliriz.
@dynamicCallable struct Products { func dynamicallyCall(withKeywordArguments prods: KeyValuePairs<String, Int>) { prods.map { (key,value) in print(key, value) } } } let prod = Products() prod(a:1,b:2,c:3)
İlk Yorumu Siz Yapın