bu (haber ben NSString türleri kullanıyorum) neden çalıştığını merak ediyorum:NSScanner Swift Strings ile çalışıyor mu?
let stringToSearch:NSString = "I want to make a cake and then prepare coffee"
let searchTerm:NSString = "cake"
let scanner = NSScanner(string: stringToSearch)
var result:NSString? = nil
scanner.scanUpToString(searchTerm, intoString:&result)
println(result) // correctly outputs "I want to make a"
ama bunun yerine "NSString" nin "Dize" türlerini kullanmaya çalışırsanız, bu derleme olmaz:
let altStringToSearch:String = "I want to make a cake and then prepare coffee"
let altSearchTerm:String = "cake"
let altScanner = NSScanner(string: altStringToSearch)
var altResult:String? = nil
altScanner.scanUpToString(altSearchTerm, intoString:&altResult)
println(result)
Hata, "İfade'nin türünü 'BOOL' türünde 'inout String” olarak yazamaz. scanUpToString hatta. Ben bile atıfta ne BOOL emin değilim.
Yani, NSScanner Swift dize türleri ile çalışmıyor? Bunun yerine kullanarak gereken yeni bir komut var mı?
Yani, meraktan, yaptığı daha sonra mantıklı sen o kalacaktır bekliyor musunuz? Her ne kadar Swift, üretime geçtiğinde bile, bir dizinin herhangi bir işlevi olduğu anlamına gelmemek garip geliyor. Swift String türü. – Narwhal
@Narwhal Bu kitaplıkların hepsi OBJC'de olduğu ve bir miras olarak görüldüğü için mantıklı. Ve mirasıyla ara-içi her zaman çirkin, tuhaf ve zor. – Eonil