Sobes.tech
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.