[2주 - 3일차] 학습 정리

okstring·2020년 11월 11일
0

codesquad-cocoa

목록 보기
8/25

.gitignore 관련 - cache 삭제

git rm -r --cached .

CompactMap, flatMap

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]

reference

reference2

String - format

print(String(format: "%.3d", Int.random(in: 0...1)))

// 001
// 또는
// 000

String - describing

// 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")

UIColor 간단한 색 표현

levelView.backgroundColor = UIColor.red
profile
step by step

0개의 댓글