İçeriğe geç

Swift 3 ile neler yeni ?

swift

Merhabalar bu yazımda WWDC 2016 geliştiriciler konferansının ardından yapılan değişikliklerin yavaş yavaş netleştiği yeni Swift 3 versiyonu hakkında bilgiler vereceğim.

Bildiğimiz gibi Swift programlama dili 2014 yılındaki WWDC etkinliğinde tanıtıldı ve ilerleyen yılda open-source haaline geldi. Buda dilde yeni kütüphaneler frameworklerin çıkmasını şimdilik linux platformunda çalışmasını sağladı.

Çok güçlü hızlı güvenli bir dil. İlerleyen yıllarda dahada gelişeceğine inanıyorum çoğu programlama dillerini tahtından edecektir. Yakın bir gelecekte Apple Objective-C’den tamamen uzaklaşıp tamamıyla tüm kütüphanelerini Swift ile yazılmış haale getirecektir. Bunun örneklerini yeni versiyondada görmekteyiz.

– Aşağıdaki verdiğim örneklerde ilk olan (Swift 2) ikinci olan yeni versiyon ile gelen (Swift 3)

"K".writeToFile("filename", atomically: true, encoding: NSUTF8StringEncoding)
"K".write(toFile: "filename", atomically: true, encoding: NSUTF8StringEncoding)
 
SKAction.rotateByAngle(CGFloat(M_PI_2), duration: 10)
SKAction.rotate(byAngle: CGFloat(M_PI_2), duration: 10)
 
UIFont.preferredFontForTextStyle(UIFontTextStyleSubheadline)
UIFont.preferredFont(forTextStyle: UIFontTextStyleSubheadline)
 
override func numberOfSectionsInTableView(tableView: UITableView) -> Int
override func numberOfSections(in tableView: UITableView) -> Int
 
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView?
func viewForZooming(in scrollView: UIScrollView) -> UIView?
 
NSTimer.scheduledTimerWithTimeInterval(0.35, target: self, selector: #selector(reset), userInfo: nil, repeats: true)
NSTimer.scheduledTimer(timeInterval: 0.35, target: self, selector: #selector(reset), userInfo: nil, repeats: true)
let blue = UIColor.blueColor()
let blue = UIColor.blue()
 
let min = numbers.minElement()
let min = numbers.min()
 
attributedString.appendAttributedString(anotherString)
attributedString.append(anotherString)
 
names.insert("Jane", atIndex: 0)
names.insert("Jane", at: 0)
 
UIDevice.currentDevice()
UIDevice.current()
let queue = dispatch_queue_create("com.test.myqueue", nil)
dispatch_async(queue) {
    print("Hello World")
}
 

let queue = DispatchQueue(label: "com.test.myqueue")
queue.async {
  print("Hello World")
}
let ctx = UIGraphicsGetCurrentContext()
let rectangle = CGRect(x: 0, y: 0, width: 512, height: 512)
CGContextSetFillColorWithColor(ctx, UIColor.blueColor().CGColor)
CGContextSetStrokeColorWithColor(ctx, UIColor.whiteColor().CGColor)
CGContextSetLineWidth(ctx, 10)
CGContextAddRect(ctx, rectangle)
CGContextDrawPath(ctx, .FillStroke)
UIGraphicsEndImageContext()
 

if let ctx = UIGraphicsGetCurrentContext() {
    let rectangle = CGRect(x: 0, y: 0, width: 512, height: 512)
    ctx.setFillColor(UIColor.blue().cgColor)
    ctx.setStrokeColor(UIColor.white().cgColor)
    ctx.setLineWidth(10)
    ctx.addRect(rectangle)
    ctx.drawPath(using: .fillStroke)
 
    UIGraphicsEndImageContext()
}
UIInterfaceOrientationMask.Landscape
UIInterfaceOrientationMask.landscape
 
NSTextAlignment.Right
NSTextAlignment.right
 
SKBlendMode.Multiply
SKBlendMode.multiply

customArray.enumerate()
customArray.enumerated()
 
customArray.reverse()
customArray.reversed()
 
customArray.sort() 
customArray.sorted()

Yukardaki gördüğünüz örneklerden’de anlaşılacağı gibi dili daha kolay ve sade yapmak için yapılan değişikler mevcut çok daha güzel haale gelmiş. Yeni versiyon ve Xcode 8 şuan beta haalinde eylül’deki konferans ile beraber tamamıyla son sürüm kullanıcılara sunulmuş olacak.

Tarih:Swift

Bu yazı yorumlara kapalı.

Copyright © 2020 Kenan Atmaca