Merhabalar bu yazımda Swift 3.0 ile gelen protocol generics özelliğine örnek vereceğim. Generics Swift dili ile gelen çok güzel bir özellik ve çok işlevsel bu özelliği class,struct,enum,extension bir çok yerde kullanıyoruz.
Protocollerde typealias ile yapılan işlem 3.0 versiyonu ile deprected olmuş durumda aşağıda hazırladığım örnekte generics kullanılan bir fonksiyon üzerinde associatedtype kullanmış olduk.
protocol Control { associatedtype item mutating func append(d:item) mutating func restore() var count:Int {get} } struct Datas:Control { var dats = [String]() mutating func restore() { for i in 0..<dats.count { if dats[i].hasPrefix("a") { dats.removeAtIndex(i) } } } mutating func append(d: String) { dats.append(d) } var count: Int { return dats.count } } var nesne = Datas(dats: ["kenan","mehmet","ali"]) nesne.restore() // ali silindi nesne.count // 2 nesne.append("murat") // ["kenan","mehmet","murat"]
Bu yazı yorumlara kapalı.