4월 26일 (화)

apwierk·2022년 4월 27일
0

TIL

목록 보기
8/33

TIL (Today I Learned)

4월 26일 (화)

학습 내용

- Dictionary keys, values

  • 고민한점: 딕셔너리 값이 2개가 나올 때 처리하는 방법에 대해서 고민하였다.
var choose: [Fruit: Int] {
        switch self {
        case .strawberry:
            return [.strawberry: 16]
        case .banana:
            return [.banana: 2]
        case .strawberryBanana:
            return [.strawberry: 10, .banana: 1]
	}
}
  • 해결한점: 이럴 땐 그냥 반복문을 사용하면 된다.
Fruit.allCases.forEach { stocks[$0] = stock }

- try-catch dafault error

  • 고민한점: try-catch 문을 이용하여 오류 처리를 하는 과정에서 "call can throw, but it is not marked with 'try' and the error is not handled" 문구의 오류가 발생하였다.

  • 해결한점: try-catch 오류의 디폴트값을 설정해서 해결할 수 있었다.

    do {
        try fruitStore.chooseRecipe(order: juice)
    } catch StockError.outOfError {
        print("재고부족")
    } catch { // 디폴트 오류를 설정
        print(error)
    }

- 동시 옵셔널 바인딩

  • 고민한점: 하나의 함수 안에 2개의 변수를 옵셔널 바인딩 해야되는 상황에서 들여쓰기를 이용해야 되는지 고민했다.

  • 해결한점: 조건문 작성란에 여러개의 바인딩을 추가할 수 있다는 것을 알게되었다.

guard let temp1 = dictionary1[key],
let temp2 = dictionary2[key],
temp1 >= temp2 else { return }

if let let temp1 = dictionary1[key],
let temp2 = dictionary2[key] {
	dictionary1.upDateValue(temp1 - temp2, forKey: key)
}

- 일기

언젠가 벽에 부딪혀 막막할 때가 있었다. 잠깐 뒤를 돌아보더라도 앞을 향하여 있는 나를 알게되었다. '아직 열정이 있구나..잘 하고 있을지도..?' 라는 감정이 드는 것에 대해 감사함을 느낀다.

profile
iOS 꿈나무 개발자

0개의 댓글