Swift
Beginner
1 min read
Swift vs Objective-C
Example
// Objective-C style (verbose):
// NSString *name = @"Alice";
// NSArray *numbers = @[@1, @2, @3];
// [numbers enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
// NSLog(@"%@", obj);
// }];
// Swift equivalent (clean):
let name = "Alice"
let numbers = [1, 2, 3]
numbers.forEach { print($0) }
// @objc interoperability
import Foundation
class MyService: NSObject {
@objc func greet(_ name: String) -> String {
return "Hello, \(name)"
}
}
// Swift-only features
struct Point {
var x: Double
var y: Double
func distance(to other: Point) -> Double {
let dx = x - other.x
let dy = y - other.y
return (dx * dx + dy * dy).squareRoot()
}
}
let a = Point(x: 0, y: 0)
let b = Point(x: 3, y: 4)
print(a.distance(to: b)) // 5.0