Toll-free ile Swift arasında köprü nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Toll-free ve Swift arasındaki köprü, Objective-C'den bazı Foundation türlerini doğrudan Swift'te kullanmaya olanak tanıyan ve aynı zamanda tersine, yeni nesne oluşturmadan veya dönüştürmeden kullanılabilen bir mekanizmadır. Bu, Swift ile Objective-C/C'deki eski çerçeveler arasında birlikte çalışabilirliği sağlar; bunların çoğu Core Foundation kullanır.
Toll-free köprüleme, bir türün örneğini, başka bir türün örneğinin beklendiği yerlere serbestçe aktarabileceğiniz ve tersine, yeni nesne oluşturmaya ek maliyet olmadan yapabileceğiniz anlamına gelir. Swift bağlamında, bu NSString, NSArray, NSDictionary, NSDate gibi bazı Foundation türlerine uygulanır; bunlar Swift'te sırasıyla String, Array, Dictionary, Date olarak kullanılabilir.
Toll-free köprülenmiş türlere örnekler:
CFStringRef<=>NSString<=>StringCFArrayRef<=>NSArray<=>ArrayCFDictionaryRef<=>NSDictionary<=>DictionaryCFDateRef<=>NSDate<=>Date
Swift, Objective-C ile yazılmış API'lerle etkileşimde bu köprüyü "otomatik" olarak gerçekleştirir, bu da kodu daha temiz ve kullanışlı hale getirir.
import Foundation // Foundation'ı içerir ve NS türlerini kullanmaya izin verir
let nsString: NSString = "Swift'ten Merhaba" // NSString nesnesi
let swiftString: String = nsString as String // NSString otomatik olarak String'e dönüştürülür
let swiftArray: [Int] = [1, 2, 3] // Swift dizisi
let nsArray: NSArray = swiftArray as NSArray // Swift dizisi otomatik olarak NSArray'e dönüştürülür
// NSString'in, String bekleyen bir fonksiyonda kullanımı (ve tersi)
func printString(_ str: String) {
print(str)
}
printString(nsString as String) // NSString verilir, String beklenir
func printNSString(_ nsStr: NSString) {
print(nsStr)
}
printNSString(swiftString as NSString) // String verilir, NSString beklenir
Toll-free ve Swift arasındaki köprü, Apple'ın Swift ile Objective-C ve C'deki eski kodlar arasında uyumluluğu sağlamaya yönelik genel stratejisinin bir parçasıdır. Bu, yeni Swift kodunun mevcut projelere göçünü ve entegrasyonunu büyük ölçüde kolaylaştırır.