İçeriğe geç

NSDataDetector kullanımı

İOS

Merhabalar bu yazımda İOS uygulamalarınızda text içerik üzerinde telefon numarası veya link bulundurup bulunmadığını kontrol eden sınıf NSDataDetector kullanımına örnek vereceğim.

Bu sınıf sayesinde String üzerinde link,adress kontrolu kolaylıkla yapabilirsiniz. Ancak ben test ettiğimde bazı eksikler mevcut telefon no sadece rastgele belli sayı olduğu zaman otomatikman doğru sayıyor. Bu gibi detaylı aramalar için preg-match kullanmak daha güzel olur detaylı bir filtreleme işlemi için kendi fonksiyonlarınızı yazmanızı tavsiye ederim.

Kullanımı aşağıdaki şekilde bir fonksiyon yazdım. NSTextCheckType‘da bulunan tüm değerleri NSDataDetector sayesinde string’de kontrol edip sonuç döndürmekte.

func textChecker(text str:String,type:NSTextCheckingType) -> Bool {
    
    var finalBool:Bool = false
    
    let dedector = try? NSDataDetector(types: type.rawValue)
    
    dedector?.enumerateMatchesInString(str, options: [], range: NSMakeRange(0, str.characters.count), usingBlock: { (result, flags, _) in
   
            if result?.resultType == type {
                
                finalBool = true
                
            } else {
                
                finalBool = false
            }
      
    })
    
    
    return finalBool
    
}


textChecker(text: "Benim telefon numaram 11111", type: .PhoneNumber) // false
textChecker(text: "Benim telefon numaram 5364214321", type: .PhoneNumber) // true
textChecker(text: "kenanatmaca.com'dan bana ulaşabilirsin.", type: .Link) // true

 

Tarih:iOS

Bu yazı yorumlara kapalı.

Copyright © 2020 Kenan Atmaca