iOS/And

Git에 관한 간단한 이해
Why? 협업 프로젝트를 하면서 겪은 git에 대한 접근 내용과 간단한 의문점을 간단히 정리해보고자 포스팅합니다. Git (terminal) git add 현재 폴더에 있는 모든 내용을 임시저장소에 추가합니다. commit 전 아무리 많은 add를 해도, 원격저장소에는 전혀 영향을 주지 않습니다. 뒤에 .(dot)은 모든 내용이라는 의미이며, 선택한 파일만 추가하고 싶다면, 해당 파일에 이름을 적어주시면 됩니다. git commit 임시저장소에 있는 내용과 함께 변경사항을 확정짓고, 메세지와 함께 남길 수 있습니다. 작업내용을 되돌리고 싶을 때 commit내역에 따라 되돌릴 수 있기 때문에, commit은 필수라고 말할 수 있습니다. git branch MAC에 있는 모든 branch 목록을 확인할 수 ..

CGRect, CGPoint, CGSize에 대해
Why? View를 Custom하고 있는 도중, CGRect, CGSize가 중간중간 등장해 궁금해졌습니다. 특히 Frame과 Bounds의 차이를 이야기 하기 전, 먼저 이해하고 넘어가야하는 부분이기도 해서 포스팅하게 되었습니다. CGRect CGRect는 CGPoint와 CGSize로 나타냅니다. 그럼 CGPoint ,CGSize는 무엇일까요? (1) CGPoint 공식문서를 보시면, ' 2차원 좌표시스템에서 점을 포함한 구조체 ' 라고 설명되어 있습니다. (???) XCode -> CGPoint Definition으로 들어가 코드상으로는 어떻게 되어있는지 확인해보겠습니다. 음.. 단순히 x,y 값을 가지고 있는 모습을 확인할 수 있습니다. CGPoint는 위치 즉, "좌표값을 나타내는 keyword..

App 생명주기(Life Cycle) (2)
이전 포스팅에서 계속됩니다. AppDelegate 이러한 생명주기를 control하고 싶다면, AppDelegate.swift 내부 method를 수정해야합니다. 프로젝트 내에서는 AppDelegate.swift 안에서 생명주기가 관리되기 때문입니다. 여기에선 앱 상태에 따라 실행되는 여러가지 Delegate method들을 담아서 실행하고 있습니다. 가장 상단에 @UIApplicationMain을 볼 수 있습니다. (구 @main) @main은 프로그램의 시작점(entry point)을 뜻합니다. (관련 내용 참조) 2번째 상자를 보면 application(_:didFinishLaunchingWithOptions:)를 볼 수 있는데요. app이 active상태로 전환된 뒤에 사용자에게 보여지기 전 호출..

UserDefaults 사용하기
Why? JSON과 인코더와 디코더를 공부하면서 어떤 내용인지는 알겠는데, 데이터를 어떻게 저장하고 받아오는지 알 수가 없었습니다. 그래서 같이 스터디하시는 분들의 코드 도움을 받아 UserDefaults라는 함수로 이 모든과정을 해결한다고 알 수 있었습니다. 조금 더 정확하게 알고 사용하고자 공부하였습니다. UserDefaults란 UserDefaults는 데이터(데이터와 key가 쌍으로 이루어짐)를 저장하는 역할을 하는 함수 라고 생각하시면 될 것 같습니다. (이 때 key는 String입니다.) 대량의 데이터보단, 사용자 기본설정 같은 단일 데이터에 적합하다고 알려져 있습니다. UserDefaults는 기본적으로 메모리상에서 모든 데이터를 관리합니다. 이를 메모리 캐싱(memory caching) ..