전체 글 146

Swift - 4. 함수, 메서드, 클로저 개요

함수 특정 작업을 수행하기 위해 호출할 수 있게 이름 붙여진 코드 블록 매개 변수(parameter) vs 인자(argument) 매개변수 : 함수가 호출될 때 받게 되는 값 인자 : 실제로 함수가 호출되고 값이 전달되는 시점에서 인자로 부름 메서드 특정 클래스나 구조체 또는 열거형과 연관된 함수 클래스 내 함수 선언 → 메서드 특별한 언급 없으면 함수 설명과 규칙, 동작이 모두 메서드에도 동일하게 적용됨 함수 선언 방법 함수명, 매개변수, 반환 결과 타입의 조합 → 함수 시그니처 func 함수명 (매개변수 이름 : 매개변수 타입, ... ) -> 반환 결과 타입 { // 함수 코드 } // 매개변수로 문자열 하나와 정수 하나를 받으며 문자열 결과를 반환하는 함수 func buildMessageFor(n..

Swift 2023.12.26

Swift - 3. 제어 흐름

break 현재 반복문에서 빠져나와 반복문 다음의 코드로 이동하여 실행 continue 반복문의 나머지 코드를 건너뛰고 반복문의 처음으로 다시 돌아감 guard 구문 불리언 표현식을 포함, true일 때만 guard 구문 다음에 위차한 코드가 실행됨 false일 때 수행될 else 절을 반드시 포함해여 함 else 절의 코드는 반드시 현재의 코드 흐름에서 빠져나가는 구문(return, break, continue, throw)을 포함해야 함 else 블록은 자기 자신을 반환하지 않는 다른 함수나 메서드 호출 가능. guard else{ // 조건문이 false일 때 실행될 코드 } // 조건문이 true 일 때 실행될 코드 func multiplyByTen(value : Int?){ guard let n..

Swift 2023.12.26

Swift - 1. 데이터 타입

정수형 데이터 타입 부호 있는 정수(signed) : 양수, 음수, 0 값 저장 부호 없는 정수 (unsigned) : 양수, 0 값 저장 정수 지원 8비트, 16비트 ,32비트, 64비트 지원 Int8, Int16, Int32, Int64 부호 없는 비트 : UInt8, UInt16, UInt32, UInt64 → Int 데이터 타입 사용 권장 : 코드가 실행되는 플랫폼에 맞는 정수 크기를 사용 모든 정수형 데이터 타입은 해당 데이터 타입이 지원하는 최댓값, 최솟값을 알 수 있도록 범위 속성을 가짐 print("Int32 Min = \(Int32.min) Int32 Max = \(Int32.max)") // Int32 Min = -2147483648 Int32 Max = 2147483647 부동소수점 ..

Swift 2023.12.24

Swift - Dictionary

Dictionary - 데이터를 키 - 값 쌍의 형태로 저장하고 관리 - 배열과 비슷한 목적의 작업을 하지만 순서가 없음 - Dictionary에 저장된 각 항목은 값을 참조하고 접근하는 데 사용되는 키와 연결되어 있음 - Dictionary의 키는 해시 가능한 타입이어야 함. 유일한 값 - 기본타입(String, Int, Double, Bool 등)은 해쉬 가능하므로 키로 사용 가능 - Optional, Array, Set도 키로 가능 초기값을 설정하지 않은 Dictionary // key 값은 String 형태, value 값은 Int 형태인 빈 Dictionary 생성 var studentScores = [String : Int]() // var studentScores : Dictionary = ..

Swift 2023.09.02

Swift - HIG (Human Interface Guide)

HIG (Human Interface Guide) - 애플의 소프트웨어 제품군인 iOS 및 macOS의 디자인과 사용자 경험을 가이드하는 문서 집합 - 이 가이드라인은 애플 제품의 사용자 인터페이스(UI)를 디자인하고 개발할 때 지켜야 할 디자인 원칙과 권장 사항 제시 https://developer.apple.com/design/human-interface-guidelines/ Human Interface Guidelines | Apple Developer Documentation The HIG contains guidance and best practices that can help you design a great experience for any Apple platform. developer.ap..

Swift 2023.08.28

SwiftUI - @Binding

@Binding - SwiftUI에서 사용되는 프로퍼티 래퍼(wrapper) 중 하나로, 데이터의 양방향 바인딩을 생성하는 데 사용 - '@Binding' 을 사용하면 부모 뷰로부터 전달된 데이터를 자식 뷰에서 수정할 수 있음 - 보통 부모 뷰에서 자식 뷰로 데이터를 전달할 때, 데이터는 일방향을 전달됨 부모 뷰에서 자식 뷰로 데이터를 전달하고 나면, 자식 뷰에서 그 데이터를 수정하여 다시 부모 뷰로 전달하기 위해선 추가 작업이 필요 → '@Binding'을 사용하면 부모 뷰와 자식 뷰 간의 데이터 흐름을 양방향으로 만듦 즉, 부모 뷰로부터 받은 데이터를 자식 뷰에서 변경하면 부모 뷰에서도 자동 변경 @State 관련 게시물 코드를 이용함 2023.08.19 - [분류 전체보기] - SwiftUI - @..

SwiftUI 2023.08.25

Swift - Extension (확장)

Extension (확장) - 기존의 클래스, 구조체, 열거형 또는 프로토콜의 기능을 확장하거나 추가할 수 있는 기능 - 기존 타입의 코드를 수정하지 않고도 새로운 기능을 추가하거나 수정 가능 - 소스 코드의 모듈성을 높이고 코드의 재사용성과 가독성을 향상 시키는 방법 1. 새로운 계산 프로퍼티 추가 - Extension은 저장 프로퍼티는 추가할 수 없으며 오로지 '연산 프로퍼티'만 추가 가능 - extension은 저장 프로퍼티 추가 불가능 import UIKit extension Int { var squared : Int { return self * self } } let num = 10 print(num.squared) // 100 - extension을 사용하여 기존 타입에 계산 프로퍼티 추가 가..

Swift 2023.08.24