본문 바로가기

iOS8

[SwiftUI Tutorials] Handling user input 랜드마크 앱에서 사용자는 좋아하는 장소를 플래그하고, 그들이 좋아하는 장소만 필터해서 볼 수 있다. 이런 기능을 만들기 위해서, 리스트에 스위치를 추가하여 유저들이 그들이 좋아하는 장소에만 포커스를 맞출 수 있도록 해야한다. 그리고 별 모양 버튼을 추가하고, 탭하면 유저들이 랜드마크에 favorite 플래그를 할 수 있도록 한다.Section 1. Mark favorite landmarks리스트를 개선해서 사람들이 한 눈에 favorite를 찾을 수 있도록 시작한다. Landmark 스트럭처에 프로퍼티를 하나 추가해서, 이 랜드마크가 favorite인지 초기 상태를 읽을 수 있도록 한다. 그리고 favorite 표시된 랜드마크에는 별 아이콘을 보여준다.Step 1, 2isFavorite 프로퍼티를 Lan.. 2025. 8. 23.
[SwiftUI Tutorials] Building lists and navigation 사용자가 전체 랜드마크 목록을 보고 각 위치에 대한 세부 정보를 볼 수 있는 방법을 제공해야 한다.모든 랜드마크에 대한 정보를 표시할 수 있는 뷰를 생성하고 사용자가 탭하여 랜드마크에 대한 디테일 뷰를 볼 수 있는 스크롤 목록을 동적으로 생성한다. UI를 미세 조정하고 싶으면 Xcode를 사용하여 다양한 장치 크기에서 미리보기를 렌더링 하면 된다.Section 1. Create a landmark model첫 번째 튜토리얼에선, 모든 정보들을 커스텀 뷰에 하드코딩했다. 이제는 뷰로 전달할 수 있는 데이터를 저장하는 모델을 만들 것이다.Step 1landmarkData.json 파일 가져오기Step 2, 3Landmark.swift 파일을 생성하고, landmarkData 데이터 파일에 있는 키와 매칭되는.. 2025. 8. 23.
[SwiftUI Tutorials] Creating and combining views Section 1. Create a new project and explore the canvasSwiftUI를 사용하는 새로운 Xcode 프로젝트를 만든다. 캔버스, 미리보기 및 SwiftUI 템플릿 코드를 탐색한다.Step 1-3프로젝트 생성 부분Step 4SwiftUI 앱 라이프 사이클을 사용하는 앱은 App 프로토콜을 컨펌하는 스트럭처를 가지고 있다. 스트럭처의 body 프로퍼티는 디스플레이에 보여줄 컨텐츠를 제공하는 하나 이상의 씬이 있다. @main 어트리뷰트는 앱의 엔트리 포인트를 지정한다.//// LandmarksApp.swift// Landmarks//// Created by Kelly Chui on 6/25/25.//import SwiftUI@mainstruct LandmarksA.. 2025. 8. 23.
[iOS] 파일 시스템과 샌드박스 파일 시스템은 데이터를 영구적으로 저장하는 것을 담당한다. iOS, macOS와 같은 애플의 OS는 APFS(Apple File System)이라는 파일 시스템을 이용한다.개발자 문서에서는 파일 시스템의 목표를 다음과 같이 제시한다.사용자 파일은 쉽게 찾을 수 있도록 한다.앱 내부적으로 사용하는 파일은 사용자 눈에 띄지 않도록 한다.많은 파일 시스템처럼 APFS도 많은 파일을 효율적으로 관리하기 위해 디렉토리 구조를 사용하여 계층적으로 파일을 관리한다. 또한 모든 디스크들이 '단일 파일 컬렉션'을 구성한다.모든 디스크들이 단일 파일 컬렉션을 구성한다는 것은 여러 디스크를 연결해도 유저들에게는 하나의 계층에 있는 것 처럼 보인다는 뜻이다.맥 터미널에서 ls /Volumes 명령어를 실행하면 Volumes .. 2025. 7. 21.
[UIKit] UIResponder + Responder chain 흐름 앱에서 터치 입력과 같은 유저 인터랙션을 처리하기 위해서 이 이벤트를 감지하고, 적절하게 처리할 방법을 찾는 것이 중요하다. UIKit에서는 이런 이벤트를 UIResponder 객체가 처리한다.UIResponder와 UIEvent개발자 문서에서 UIResponder는 '이벤트에 응답하고 처리하기 위한 추상 인터페이스'로 소개한다. 그렇다면 이벤트가 뭘까? UIKit에서 이벤트는 UIEvent 라는 클래스로 표현된다. 마찬가지로 개발자 문서에서 UIEvent는 '앱에서 단일 유저 인터랙션을 설명하기 위한 객체'로 소개된다.가장 쉽게 볼 수 있는 리스폰더는 바로 UIView 객체이다. UIView가 UIResponder를 서브클래싱 한 클래스이기 때문에, 자연스럽게 모든 UIView는 리스폰더가 된다. UI.. 2025. 7. 21.
[UIKit] UIStackView 레이아웃 스택 뷰는 여러 뷰들을 묶어주는 컨테이너 뷰다. 스택 뷰 내부에 서브 뷰를 추가하는 방식으로 스택 뷰를 구성할 수 있다.스택 뷰 내부의 서브 뷰들은 기기의 상태(회전 방향, 스크린 크기 등)와 스택 뷰의 axis, alignment, distribution, spacing 프로퍼티를 기반으로 자동으로 레이아웃이 결정된다.intrinsicContentSize서브 뷰와 스택 뷰의 레이아웃이 어떻게 결정되는지 이해하려면 intrinsicContentSize에 대한 이해가 필요하다.공식 문서에서는 ‘뷰 자체의 속성만을 고려한, 뷰가 자연스럽게 가지는 크기’ 라고 설명되어 있다. 가장 간단한 UILabel의 예시를 보자.UILabel은 따로 제약조건을 설정하지 않는 이상 내부 텍스트의 길이에 따라서 뷰의 크기가 .. 2025. 7. 17.