Junior — Middle
Program çalışırken arayüzün belirli bir uygulamaya nasıl bağlandığı nasıl gerçekleştirilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS'ta, arayüzü belirli bir uygulamaya bağlamak için çalışma zamanında sıklıkla delegasyon deseni (delegate) veya protokoller (protocols) kullanılır.
Bir protokol, bir dizi yöntemi tanımlar ve belirli bir sınıf bu protokolü uygular. Çalışma zamanında, arayüz nesnesi, protokolü uygulayan bir nesneye referans verir ve onun yöntemlerini çağırır. Bu, arayüzü değiştirmeden uygulamayı değiştirmeye olanak tanır.
Swift'te örnek:
protocol DataSource {
func fetchData() -> String
}
class RealDataSource: DataSource {
func fetchData() -> String {
return "Gerçek kaynaktan veriler"
}
}
class ViewController {
var dataSource: DataSource?
func showData() {
if let data = dataSource?.fetchData() {
print(data)
}
}
}
let vc = ViewController()
vc.dataSource = RealDataSource() // çalışma zamanında uygulama bağlama
vc.showData() // Çıktı: Gerçek kaynaktan veriler
Bu şekilde, arayüz (protokol) ve uygulama dinamik olarak bağlanır.