일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- swift문법
- 네이버 부스트캠프
- 데이터베이스
- Swift 문법
- 숭실대
- Swift 기능
- 애플 디벨로퍼 아카데미 21주차 회고
- global soop
- 운영체제
- 치지직
- react
- useReducer
- ObservableObject
- 소프트웨어분석및설계
- 데이터베이스 공부
- memoization
- 동시성 프로그래밍
- thread safe
- 네이버 치지직
- 애플 디벨로퍼 아카데미
- OS
- Apple Developer Academy @ POSTECH
- iOS 개발 오류
- 앱 비교 프로젝트
- 애플 디벨로퍼 아카데미 후기
- 제앱소
- ObservedObject
- Swift 디자인패턴
- StateObject
- SWIFT
- Today
- Total
목록2023/08/17 (3)
사과하는 제라스
inout이란 키워드도 지난번 부스트캠프 다른 캠퍼 분 코드 컴파일링 시 본 적이 있다. 무슨 기능인지 그 당시엔 넘어갔지만 이번에 정리하고 가고자 한다. 생각보다 쉬운 개념이었다. import UIKit // 여기서는 name을 직접 수정하는 일이 없는데, 만약 수정하려고 하면 에러가 뜬다. // 왜냐하면 매개변수는 기본적으로 let으로 설정되어 있기 때문이다. func sayName(_ name: String){ print("안녕?! 난 \(name) 라고 해") } // 이렇게 inout 키워드를 매개변수의 type 앞에 적어주면 해당 매개변수의 값을 메소드 내에서 변경이 가능하다. func sayHi(_ name: inout String){ name = "개발하는 " + name print("안녕..
Swift에는 여러 Collection을 제공해주는데 그 중 하나가 Dictionary 타입이다. 이 딕셔너리 타입을 초기화를 할 때는 어떻게 하는지 정리해두고자 한다. let phoneCount:[String:Int] = [:] let phoneCount:[String:Int] = [String:Int]() let phoneCount = [String:Int]() let phoneCount = Dictionary()
일단 클로저는 내가 부스트캠프를 하면서 배웠던 것 중 가장 중요한 Swift 문법 중 하나라고 생각했다. 특히, 이것을 전혀 모르고 있었던 것이 내가 다른 캠퍼들의 코드를 이해하는데에 자꾸 걸림돌이 되었었다. 그래서 이번엔 클로저를 정리해보도록 하겠다. 먼저 내가 이해한 클로저는 사실 메소드와 비슷한 개념이라고 보았다. 일단, 클로저를 사용하는 예제들을 위주로 보자. import UIKit // String을 반환하는 클로저 let myName : String = { // 여기서 return되는 값이 myName으로 들어가진다. return "제라스" }() print(myName) // String을 받아서 다른 이름으로 return 하는 클로저 let playingName : (String) -> S..