git rm -r --cached .
Swift 4.1부터는 1차원 배열에서 nil을 제거하고 옵셔널 바인딩을 하고싶으실때는 compactMap 사용.
2차원 배열을 1차원 배열로 flatten하게 만들때 flatMap을 사용.
let array1 = [1, nil, 3, nil, 5, 6, 7]
let flatMapTest1 = array1.flatMap{ $0 }
// 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
let compactMapTest1 = array1.compactMap { $0 }
print("flatMapTest1 :", flatMapTest1)
print("compactMapTest1 :", compactMapTest1)
// <출력>
// flatMapTest1 : [1, 3, 5, 6, 7]
// compactMapTest1 : [1, 3, 5, 6, 7]
print(String(format: "%.3d", Int.random(in: 0...1)))
// 001
// 또는
// 000
// int Array로 변환
var num = 123
print(String(describing: num).compactMap{ Int(String($0))})
// [1, 2, 3]
describing은 강제성 그리고 표현하려는 성질이 있다
Coercion, Representation
let p = Person(first:"Matt", last:"Neuburg")
print("p is \(String(describing:p))")
// p is Person(first: "Matt", last: "Neuburg")
levelView.backgroundColor = UIColor.red