Kullanışlı swift uzantıları

Metni kırpmak

Swift dilinde bir metin dizesini trim etmek (baştaki ve sonundaki boşlukların silinmesi) ve yeni satır karakterlerini (new line characters) silmek için aşağıdaki gibi bir extension yazabilirsiniz:

extension String {
    func trim() -> String {
        return self.trimmingCharacters(in: .whitespacesAndNewlines)
    }
}

Bu extension’ı kullanarak bir metin dizesini trim edebilirsiniz:

let myString = "   Lorem Ipsum   \n"
let trimmedString = myString.trim()

Bu örnekte trim() metodu myString değişkenini trim ederek boşluk ve yeni satır karakterlerini siler ve trimmedString değişkenine atar. Bu sayede trimmedString değişkeninin içeriği sadece “Lorem Ipsum” olur.

Yazıdan tarihe dönüştürme

Swift dilinde bir metin dizesini bir tarihe dönüştüren bir extension yazarken kullanıcının girdiği date format’ını kullanabilmek için aşağıdaki gibi bir kod yazabilirsiniz:

import Foundation

extension String {
    func toDate(dateFormat: String) -> Date? {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = dateFormat
        return dateFormatter.date(from: self)
    }
}

Bu extension’ı kullanarak bir metin dizesini bir tarihe dönüştürebilirsiniz:

let dateString = "2022-01-12"
let date = dateString.toDate(dateFormat: "yyyy-MM-dd")

Bu örnekte toDate(dateFormat:) metodu dateString değişkenini bir tarihe dönüştürür ve date değişkenine atar. Kullanıcı tarafından girilen dateFormat değişkeni “yyyy-MM-dd” olur ve bu sayede date değişkeninin içeriği Date tipinde bir tarih olur.

Swiftte en popüler 10 açık kaynak framework

Swift dilinde en çok kullanılan açık kaynak framework’ler şu şekildedir:

  • Alamofire: HTTP bağlantılarını yönetmek için kullanılan bir framework.
  • Kingfisher: Resimlerin indirilmesi ve cache’lenmesi için kullanılan bir framework.
  • SDWebImage: Web’den resimlerin indirilmesi ve cache’lenmesi için kullanılan bir framework.
  • SwiftyJSON: JSON verilerinin kolayca işlenmesi için kullanılan bir framework.
  • RxSwift: Reactive programlama için kullanılan bir framework.
  • SnapKit: Auto Layout kullanımını kolaylaştıran bir framework.
  • Moya: Networking işlemlerini kolaylaştıran bir framework.
  • Realm: Veritabanı işlemleri için kullanılan bir framework.
  • ObjectMapper: JSON veya diğer veri formatlarının modellere dönüştürülmesi için kullanılan bir framework.