반응형 전체 글17 [오늘의 코드 조각] [iOS 3-2] 실전 레이아웃: 오토레이아웃으로 로그인 화면 만들기 (Constraints 실습) 안녕하세요, **'생각하는 개발자'**입니다.지난 시간에 오토레이아웃의 '이론'을 배웠다면, 오늘은 직접 **'고무줄(Constraints)'**을 당겨볼 시간입니다. 앱 개발의 가장 기본이 되는 로그인 화면을 만들며, UI 요소들이 어떻게 화면에 고정되는지 그 손맛을 느껴보겠습니다.3.2.1 실습 준비: UI 요소 올리기 🏺Xcode의 **Library(단축키: Cmd + Shift + L)**를 열어 다음 요소들을 스토리보드의 캔버스 위로 드래그합니다.ImageView: 상단에 로고가 들어갈 자리입니다.TextField: 아이디와 비밀번호를 입력받을 두 개의 칸입니다.Button: 하단의 '로그인' 버튼입니다.3.2.2 제약 조건 걸기 (Adding Constraints) 📜이제 이 요소들이 둥둥.. 2026. 2. 13. [오늘의 코드 조각] [iOS 3-1] UIKit의 기초 : 스토리보드와 오토레이아웃(Auto Layout) 핵심 원리 안녕하세요, **'생각하는 개발자'**입니다.그동안 플레이그라운드에서 Swift라는 언어의 기초 체력을 길렀다면, 이제는 그 근육을 사용해 실제 앱의 '얼굴'을 만들 차례입니다. 안드로이드에 View나 Jetpack Compose가 있다면, iOS(특히 Xcode 12.4 환경)에는 UIKit이라는 든든한 프레임워크가 있습니다.오늘은 코드를 한 줄도 쓰지 않고도 앱 화면을 구성할 수 있는 스토리보드와, 어떤 아이폰 화면에서도 UI가 깨지지 않게 잡아주는 오토레이아웃의 원리를 파헤쳐 보겠습니다.3.1.1 스토리보드(Storyboard): 앱의 설계도 🏺비유: 만화책의 콘티 안드로이드 개발 시 레이아웃 XML 파일을 열어 디자인 탭을 보던 것과 비슷합니다. 스토리보드는 앱의 전체적인 흐름과 화면 구성을 한.. 2026. 2. 11. [오늘의 코드 조각] [iOS 2-4] 클래스와 구조체 : 객체지향 vs 값 타입, Swift가 구조체를 사랑하는 이유 안녕하세요, **'생각하는 개발자'**입니다.안드로이드에서 데이터를 묶을 때 우리는 주로 class나 data class를 사용합니다. iOS의 Swift에도 클래스가 존재하지만, 독특하게도 애플은 구조체(Struct) 사용을 강력하게 권장합니다.도대체 클래스와 구조체는 무엇이 다르길래 그럴까요? 오늘은 이 두 개념의 차이를 통해 Swift가 추구하는 **'안전한 데이터 관리'**의 핵심을 파악해 보겠습니다.2.4.1 클래스(Class) : 공유되는 참조 🏺비유: 구글 문서 (Shared Document) 클래스는 안드로이드 개발자에게 익숙한 **참조 타입(Reference Type)**입니다. 여러 곳에서 하나의 인스턴스를 가리키기 때문에, 한 곳에서 내용을 수정하면 다른 곳에도 영향을 미칩니다.cl.. 2026. 2. 11. [오늘의 코드 조각] [iOS 2-3] 제어문과 함수 : 조건문, 반복문, 그리고 Swift다운 함수 작성법 안녕하세요, **'생각하는 개발자'**입니다.우리는 지난 시간에 변수와 옵셔널이라는 '재료'를 배웠습니다. 이제 그 재료들을 가지고 요리할 시간입니다. 프로그램이 상황에 따라 판단하고(조건문), 같은 일을 반복하며(반복문), 똑똑한 레시피(함수)를 만드는 법을 알아보겠습니다.플레이그라운드를 켜고, 오늘 소개할 코드들을 직접 타이핑하며 결과를 확인해 보세요!2.3.1 조건문: 상황에 따른 선택 🏺비유: 인생의 갈림길 Swift의 if문은 코틀린과 거의 같지만, 소괄호()를 생략할 수 있어 훨씬 깔끔합니다. 또한, 코틀린의 when처럼 강력한 switch문이 준비되어 있습니다.let score = 85// 1. if-else 문if score >= 90 { print("A학점입니다.")} else i.. 2026. 2. 11. [오늘의 코드 조각] [iOS 2-2] Optional : Swift가 안전한 이유 (nil을 다루는 법) 안녕하세요, **'생각하는 개발자'**입니다.안드로이드 개발을 하다 보면 우리를 가장 괴롭히는 에러가 무엇인가요? 바로 NullPointerException(NPE)입니다. 값이 있을 줄 알고 사용했는데, 알고 보니 비어 있어서 앱이 터져버리는 상황이죠.Swift는 이런 비극을 막기 위해 **'Optional(옵셔널)'**이라는 개념을 도입했습니다. "이 변수에는 값이 있을 수도 있고, 없을 수도(nil) 있어!"라고 미리 선언해두는 것이죠. 마치 선물을 뜯어보기 전까지는 내용물이 있는지 없는지 모르는 '상자'와 같습니다.2.2.1 옵셔널 선언: 상자에 담기 🏺비유: 선물 상자 Swift에서는 일반적인 타입 뒤에 **물음표(?)**를 붙여서 옵셔널을 선언합니다.String: 절대 비어있을 수 없는 일반.. 2026. 2. 10. [오늘의 코드 조각] [iOS 2-1] Swift 문법 정수 : 변수와 상수의 본질 (let vs var) 안녕하세요, **'생각하는 개발자'**입니다.우리는 지난 시간까지 iOS라는 새로운 세계의 규칙과 환경을 살펴보았습니다. 이제 본격적으로 앱의 영혼을 만드는 언어, **스위프트(Swift)**의 첫 페이지를 넘길 차례입니다.모든 프로그래밍의 시작은 데이터를 어디에 어떻게 담느냐에서 시작됩니다. 오늘은 안드로이드 개발자에게는 너무나 익숙하지만, Swift만의 깔끔함이 돋보이는 변수와 상수에 대해 알아보겠습니다.2.1 데이터를 담는 두 가지 그릇 : let과 var 🏺비유: 박제된 보물상자 vs 열려있는 보관함프로그래밍에서 데이터를 담는 그릇은 크게 두 종류로 나뉩니다. 한 번 넣으면 영원히 변하지 않는 것과, 필요할 때마다 갈아 끼울 수 있는 것이죠.let (상수): 한 번 값을 넣으면 '박제'됩니다. .. 2026. 2. 10. 이전 1 2 3 다음 반응형