import Foundation
struct Person {
var name: String
init(name: String) {
self.name = name
}
}
func main() {
var person1 = Person(name: "Alice")
let person2 = Person(name: "Bob")
let person3 = Person(name: "Charlie")
var people = [
person1,
person2,
person3
] as [Person]
person1.name = "John"
for person in people {
print(person.name)
}
people[0].name = "John2"
for person in people {
print(person.name)
}
}
import Foundation
let d = ["john": 23, "james": 24, "vincent": 34, "louis": 29]
let x = d.sorted(by: { $0.1 < $1.1 }).map{ $0.0 }
print(x)
import Foundation
var value = 0
DispatchQueue.global().async {
value = 5
}
print("Value: (value)")
import Foundation
let concurrentQueue = DispatchQueue(label: "com.example.concurrent", attributes: .concurrent)
concurrentQueue.async {
for i in 0..<100 {
print("Task 1 - (i)")
}
}
concurrentQueue.async {
for i in 0..<100 {
print("Task 2 - (i)")
}
}
import Foundation
class Dog {
var name: String
init(name: String) {
self.name = name
}
}
var dog1: Dog? = Dog(name: "Buddy")
var dog2: Dog? = dog1
dog1?.name = "Buddy1"
print(dog2?.name ?? "nil")
import Foundation
class Person {
var name: String
var pet: Pet?
init(name: String) {
self.name = name
}
}
class Pet {
var name: String
var owner: Person?
init(name: String) {
self.name = name
}
}
var john = Person(name: "John")
var dog = Pet(name: "Buddy")
john.pet = dog
dog.owner = john
import UIKit
let view = UIView(frame: .init(x: -50, y: -50, width: 100, height: 100))
view.transform = .init(scaleX: 2, y: 1)
print(view.bounds) // 0 0 100 100
print(view.frame) // -100 -50 200 100