Contents
Swift Collection
UserInterfaceState.xcuserstate File
Xcode Color Theme
Swift CollectionArraySetDictionaryTupleArray vs Set vs Dictionary vs TupleUserInterfaceState.xcuserstate FileXcode Color ThemeReferences
Swift Collection
Collection(콜렉션)은 여러 값들을 그룹화하거나 구조화한 자료 구조다. 물론 저장, 접근, 순회, 삭제 등의 여러 작업을 수행할 수 있다. 스위프트에서 지원하는 콜렉션 유형은 다음과 같다.
Array
- 중복을 포함할 수 있는 모음이 필요할 때
- 순서가 중요할 때
Set
- 중복 필요 없이 고유한 모음이 필요할 때
- 순서는 무시하더라도 특정 항목이나 값을 빠르게 확인해야할 때
Dictionary
- Key(키)와 Value(값)으로 구성
- 순서를 무시하고 동일한 데이터 타입으로 빠른 순회 탐색이 필요할 때
Tuple
- 각 항목 정확한 위치나 이름이 있어도 될 때
- 특정적으로 고정된 값이 필요할 때
Tuple(튜플)은 콜렉션 유형이 아니다. 별도의 데이터 유형으로 구분한다.
Array vs Set vs Dictionary vs Tuple
- 단어 목록을 저장 하려면 중복이 없고 순서가 중요하지 않으므로 집합 사용
- 최고 점수 목록을 저장 하려면 순서가 중요하고 중복이 있어야 하므로 배열 사용
- 할 일 목록에 대한 항목을 저장 하려면 순서를 예측해야 작동할 수 있으므로 배열 사용
- 고유한 키를 기반으로 빠르게 여러 값을 저장 하려면 딕셔너리 사용
- 정확히 두 개의 문자열, 두 개의 정수 등 특정 고정된 값을 보유 하려면 튜플 사용
UserInterfaceState.xcuserstate File
Xcode 프로젝트에서
xcuserdata/
디렉토리에 존재하는 파일로 Xcode Interface Builder에서 사용자 인터페이스의 상태와 관련된 정보를 포함하고 있는 파일로 판단했다.그래서 사용자가 Xcode 프로젝트의 인터페이스를 변경할 때 해당 사항을 저장하고 기록하게 된다. 그런데 이 파일은 각 사용자 별로 생성되기 때문에 사용자마다 다른 설정, 화면 배치, 기타 변경 사항을 포함하고 있기 때문에 일반적으로 다른 사람과 프로젝트를 공유할 때 이 파일을 무시하도록 설정해야한다.
*.xcuserstate
사실 원격 저장소에 이 파일을 업로드 해야할 마땅한 이유가 없기 때문에 추적을 하지 않도록 설정해주는 것이 좋은 방법이라고 생각한다. 원격 저장소에 이미 해당 파일이 업로드 되어 있다면 다음 방법을 실행하면 해결된다.
git rm --cached {YourProjectFolderName}.xcodeproj/project.xcworkspace/xcuserdata/{yourUserName}.xcuserdatad/UserInterfaceState.xcuserstate git commit -m "delete: User interface state file"
Xcode Color Theme
Xcode를 사용하면서 기본으로 구성되어 있는 형태로 장시간 사용을 했는데 눈이 극심하게 피로했다. VScode를 자주 사용하면서 느껴본적이 없을 정도로 불편했다. 기본으로 구성되어 있는 색상의 조합도 눈을 불편하게 만드는 원인 중 하나라고 생각한다. 적합한 테마를 찾아보면서 적용을 해봤지만 적응하는데 실패했다.
눈의 피로를 감소시켜 줄 수 있는 개인 테마를 제작해야할 필요성을 느꼈으며, 테마 구성 단계가 마무리 되면 GitHub 개인 계정에 무료로 배포할 예정이다.
References
Share article