https://flutter.dev/docs/get-started/install/macos 에서 flutter SDK를 다운로드 받습니다.다운로드 받은 파일의 압축을 풀고 잘 건드리지 않을 법한 곳에 폴더를 만들어 flutter 폴더를 옮겨놓습니다. 저는 아래
앱 빌드시 생성되는 바이너리는 CPU의 영향을 받는데 기존 맥북은 i5, i7과 같이 인텔 CPU를 사용하고 이 CPU는 x86_64 아키텍쳐를 사용합니다. 따라서 Xcode 12버전 이전에는 시뮬레이터로 앱을 빌드하면 x86_64를 사용하도록 설정되어 있어 아무런 문
view의 content를 기준으로 정렬하고 싶을 때 사용아래 그림과 같이 두 label을 bottom 기준으로 정렬하면 view의 하단이 일치하도록 정렬됨. (제약조건: horizontal spacing + bottom)두 label을 baseline을 기준으로 정렬
스토리보드에서 ctrl + drag 방향에 따라 보여지는 constraint 종류가 달라짐. 좌측 하단으로 drag할시에 leading, bottom 보이고 우측 상단으로 drag하면 top, trailing 보임.캔버스메뉴 우측 2번째 메뉴 사용법selected Vi
UIView는 기본적으로 touch 이벤트를 관리할 수 있게 되어있습니다. 이번 포스트에서는 UIView의 touch이벤트를 관리할 수 있는 method에는 무엇이 있고 어떤 식으로 활용할 수 있는지 알아보겠습니다.touchesBegan(touches:event:) :
활성화 여부에 따라 시각적으로 달라지는 것은 없지만 drawing resource에 영향을 줍니다.아래 그림에서 빨간 네모와 파란 네모가 겹치는 부분을 drawing할 때 각 두 객체의 투명도를 계산하여 view에 표시하게 되는데 이 작업은 상당히 고비용의 작업이고 이
명령어: git remote add “git repo 별명” git repo 주소 (예 : git remote add origin https://github.com/abcd)git remote: 현재 파일의 git-hub저장소 별명을 확인합니다.git remo
명령어: git branch "브랜치 이름"branch를 형성하면 현재의 작업정보를 그대로 작업내용을 복제할 수 있습니다. 복제하고자하는 위치에 Head를 두고(check out하고) git branch "브랜치 이름"을 입력하면됩니다.아래 그림에서 “D” 시점에 ma
명령어: git reset - -hard (commit ID)HEAD가 master를 가리키고 있지 않을때는 reset이 되지 않습니다.reset --hard 사용시 workingTree에 수정되고 아직 commit되지 않은 내용들까지 모두 삭제 되기 때문에 현재 작업
working tree내에서 마지막 작업시 추가된 것과 삭제된 것을 -, + 구분자로 표기해줍니다.아래 예에서는 3, 4가 삭제되고 four가 추가 되었음을 확인할 수 있습니다.git diff는 git add하여 Staging Area에 올려졌거나, 이미 commit된
이번 포스트에서는 파일을 수정한 후 수정사항을 commit하는 방법에 대해 알아보겠습니다.git status를 입력하여 파일의 상태를 확인합니다.변경된 파일이 존재하면 아래와 같이 Changes not staged for commit:이 출력됩니다. 이는 Staging
Working tree: 버전으로 관리되지 않은 작업문서들의 상태를 말합니다.Staging Area: working tree에 있는 작업 문서들 중 버전으로 관리대상으로 지정된 파일들의 상태입니다. → git add로 구현Repository: version이 저장되는
다수의 tableView에서 한 가지 디자인의 cell을 공유하고 싶을 때 코드로 UI를 만드는 경우에는 CustomCell class를 만들어 사용하는 것만으로 가능하지만 storyboard를 사용할 경우에는 이것만으로는 불가능합니다.storyboard를 이용하여 U
willSelectRowAt: cell이 선택되기 전에 호출되는 함수로 indexPath를 리턴하면 select되고 nil을 return하면 선택되지 않습니다. 특정 cell의 selection을 금지할 때 사용합니다.willDeselectRowAt: cell을 선택해
이 method는 cell의 디자인을 결정합니다. 여기서 중요한 개념은dequeueReusableCell입니다.dequeueReusable이란?tableview는 메모리를 효율적으로 사용하기 위해서 재사용 queue를 관리하면서 cell 생성 요청이 들어오면 queue
[tableVeiw 접기/펼치기]오늘 다를 주제는 tableView의 섹션별로 표시된 cell들을 섹션을 클릭하여 접었다 폈다하는 방법에 관한 것입니다. 여러가지 방법이 있는데요. 이번 포스트에서는 2가지 방법에 대해서 설명해겠습니다.
iOS 13버전 부터 dark mode가 생기면서 system color라는 것이 생겼는데, system color만 가지고는 dark mode와 light mode 두 경우 모두 원하는 color를 설정할 수 없어서 불편한 경우가 있습니다. 예를 들어 light m
rename failed at :317:10 와 같이 rename이 실패하는 경우가 있는데요. 이는 Xcode의 DeriveData 디렉토리 내 파일들을 삭제해주는 것으로 해결이 가능합니다. 아래의 사진의 빨간 네모 box 부분의 파일들을 전부 삭제해주시면 됩니다. 해
Main Thread는 오직 한개 뿐이며, 나머지는 모두 Background Thread 입니다.우리가 일반적으로 작성하는 대부분의 코드는 MainThread에서 실행됩니다. 이 사실을 잘 의식하지 못하는 이유는 우리가 작성한 코드가 Cocoa에서 실행되는데 이 Coc
이번 포스트에서는 CALayer의 drawing에 대한 기본적인 개념과 더불어 CALayer의 다양한 method를 알아보겠습니다.\---응용편(3)에서 다룰 부분