Extension: Nil veya Empty kontrolünü birlikte kullanımı örnek
Swift dilinde bir değişkenin nil
olup olmadığını veya boş
olup olmadığını birlikte kontrol etmek için isNilOrEmpty
fonksiyonunu extension
olarak kullanabiliriz. Böylece zayıf encapsulasyonun da önüne geçilmiş olur. Aşağıda extension kullanmadan ve extension ile birlikte kullanımı bir string değer olarak gösterilmiştir.
Örnek 1:
func handlePerson(name: String?, surname: String?) {
if name != nil && name != "" {
// optional değişken kontrolü yapılarak nil ve boş olma durumu kontrol edilmiş olur.
}
if surname != nil && surname != "" {
// optional değişken kontrolü yapılarak nil ve boş olma durumu kontrol edilmiş olur.
}
}
Yukarıdaki örneği iyileştirmek istersek örnek 2 deki gibi bir kullanım yapabiliriz.
Örnek 2:
extension Optional where Wrapped == String {
var isNilOrEmpty: Bool {
self == nil || self == ""
}
}
func handlePerson(name: String?, surname: String?) {
if name.isNilOrEmpty == false {
// Furkan
}
if surname.isNilOrEmpty == false {
// Ozoglu
}
}