목록전체 글 (110)
조앤의 기술블로그

https://github.com/WenchaoD/FSCalendar WenchaoD/FSCalendar A fully customizable iOS calendar library, compatible with Objective-C and Swift - WenchaoD/FSCalendar github.com iOS앱을 개발할 때 캘린더를 좀 더 쉽게 이용할 수 있도록 해주는 오픈소스이다. 내가 사용하는 캘린더앱이 이 오픈소스를 이용하고 있어서 관심을 가지게 되었다. 가장 주요한 특징 중에 하나는 제스처를 통해 week 모드로 넘어갈 수 있다는 것이다. (swipe up하면 해당 주에 걸리면서 week 모드로 변경된다. ) 이 오픈소스를 사용하기 위해서는 코코아팟 터치를 이용하면 된다. https://ze..

git 기초 명령어를 정리해보겠습니다. 예제에 사용할 index.html, style.css파일입니다. git config : 내가 누구인지 알려주는 명령어 설정한 이름은 커밋을 처리할 때마다 사용됩니다. git init : 새로운 git 데이터베이스를 만드는 명령어. git clone : git 프로젝트에 가입하고, 서버에 저장되어 있는 저장소 사본을 내려받는 일(cloning) "Commit or it didn't happen" & git status : 현재 상태 확인 Untracked files (커밋되려면 tracked 파일이 필요함) (tracked 되려면 먼저 파일이 git의 DB에 추가되어 있어야 함) *많이 혼동하는 부분 : 파일을 저장소에 추가하는 것이 커밋이 아닙니다. 커밋은 Git ..
버전 관리 tool인 git을 다루기 전 '버전 중심의 사고'를 위해서 기본적으로 알아야 할 용어들에 대해 정리해보겠습니다. 저장소 repository : 각 버전의 "사본"을 유지하는 곳. 커밋 commit : 일시정지할 수 있는 시점에, 해당 버전을 저장소에 저장 (스냅샷) 브랜치 branch : 커밋이 모여 구조화된 것. (이후에 누구를 원망하고, 누구를 칭찬할 것인가!) primary version : trunk, master branch. 안전하게 변경할 수 있는 프로젝트 버전 : 작업사본 working copy(메모장 같은 역할). 이것을 저장소에 commit하면 공식 버전이 된다. commit은 ctrl+S처럼 하는게 아니라 중요한 변경사항(+주석, +충돌 해결)에 대한 행위입니다. 이 과정..
옵셔널 체이닝(Optional Chaining)이란, 사슬(chain)이 연결된 것처럼 옵셔널이 연달아 호출된 것을 의미합니다. 결론적으로, - 옵셔널 체이닝의 결과는 항상 옵셔널 입니다. - 옵셔널 체이닝이 포함된 표현식 중에서 하나라도 nil을 return한다면, 이어지는 표현식을 평가하지 않고 nil을 return합니다. [예제] Struct Contacts { var phone: [String: String] var address: String func printAddress() { return print(address ?? "No address") } } Struct Student { var name: String var contacts: Contacts var studentNum: Int in..
옵셔널 바인딩이란 옵셔널을 안전하게 처리하는 방법입니다. 옵셔널 값은 랩에 쌓여 있어서, 사용하기 위해서는 unwrapping하는 과정이 필요합니다. !키워드를 사용하여 forced unwrapping을 할 수 있습니다. 하지만 이 경우에는 crash가 발생할 위험이 있으므로 (옵셔널이 nil값을 가질 때) 사용에 주의해야 합니다 하지만 그렇다고 해서, 이렇게 코드를 작성하지는 않습니다. if num != nil { print(num!) } else .... //이렇게 코드를 작성하지는 않습니다. 대신 옵셔널 바인딩(optional binding)을 사용합니다. if문, while문, guard문에서 사용합니다. 기본 syntax입니다. //if 문 if let name: Type = OptionalEx..
Swift 언어의 가장 큰 특징 중 하나로, 값이 있을 수도 있고, 없을 수도 있는 것을 Optional 이라고 합니다. 예를 들어, 파일에서 읽어온 상수를 문자열에 저장한다고 할 때. - 파일에 값이 있을 수 있다. - 파일에 읽을 값이 없을 수 있다.(nil) '?' 키워드로 나타냅니다. 그리고 값이 없는 상태를 nil 이라고 나타냅니다. 옵셔널은 값이 없고, 추론할 형식이 없기 때문에 선언할 때 type을 지정해주어야 합니다. let str: String? = nil 옵셔널로 정의한 변수는 옵셔널이 아닌 변수와는 다릅니다. let optionalStr: String? = "abc" let requiredStr: String = optionalStr // 컴파일 에러 Optional 값은 '랩으로 포..