목록전체 글 (284)
기어가더라도 제대로

목차 - 빌드 최적화 원리 - Framework 추가하는 방법 - Workspace 추가 - WorkSpace + MyApp + Feature Framework - xcode 에서 설정할 것 - 코드 파일에서 설정할것 접근 제어자: public - BuildPhase 에서 Feature 추가 - architecture에 따른 빌드 파일 - arm64 - x86_Intel - 증분 컴파일, 전체 모듈 컴파일(Debug, Release) - 전체 모듈 컴파일 - 변경된 부분만 컴파일 + 기존 캐시된 컴파일 사용 빌드 최적화 하는 방법 모든 파일 컴파일 → Framework 단위 컴파일 모든 파일 컴파일 → 변경 사항만 컴파일 빌드 파일(실행파일)을 사용자 architecture 에 맞춰서 생성(Intel 칩..

사실 기초가 아니지만, 어려운 예제지만 꼭 이해해야 더 풍성한 앱을 만드는데 도움이 되는 내용이기에 짚고 넘어갑니다. Bundle에서 파일을 올리는 예제 번들에 하나의 타입을 담고 있는 JSON 파일이 각각 여러개라고 가정 제네릭을 쓰지 않으면, 파일 하나하나당 타입을 명시해줘야해서 재사용성이 떨어짐 func decode(_ file: String) -> [String: Astronaut] { } func decode(_ file: String) -> [Mission] { } 각각은 missions.json, astronauts.json 두개의 파일을 올리기 위해서 거의 같은 내용의 메서드 두개를 만들어야할 것이다. 천천히 하나부터 기능이 동작하게 만들고 그다음에 이것을 제네릭으로 바꿔보자. decodi..

수직그리드 엑셀에 보면 row와 column 으로 나뉜것과 같은 효과를 줄 수 있는 View 입니다. struct ContentView: View { let layout = [ GridItem(.fixed(80)), GridItem(.fixed(80)), GridItem(.fixed(80)) ] var body: some View { ScrollView { LazyVGrid(columns: layout) { ForEach(0..