일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- NotificationCenter
- SWIFT
- escaping
- 고차함수
- singleton
- mvvm
- list
- uikit
- struct
- Observer
- http
- self
- Refresh
- error
- array
- SWIFTUI
- Git
- ScrollView
- apns
- CoreImage
- class
- calendar
- IOS
- PushNotification
- 글또
- segue
- Animation
- 화면전환
- viewlifecycle
- Switch
- Today
- Total
목록My P_Life (121)
seong_hye, the developer
📘 Swift 문법 정리: inout 키워드Swift 문법 중 inout 키워드에 대해 정리한 글이다. 일반적인 변수들은 값을 복사해서 사용하게 된다.하지만 복사한 값이 아닌 그 값 자체가 필요하게 된다면 어떻게 해야할까?copy-in copy-out 메커니즘과도 관련이 깊은데https://programming-seonghye.tistory.com/42 Swift) 문법 정리 - COW(Copy-On-Write)swif에는 저희가 인지하지 못하고 사용하고 있는 여러 프로그래밍 기술들이 있죠 오늘은 그 중에서 COW(Copy-On-Wirte)에 대해 알아보려고 합니다. COW(Copy-On-Write) 컴퓨터에서 복사할 때 값을 복사해서programming-seonghye.tistory.com swi..
📘 Swift 문법 정리: 고차함수Swift 문법 중 고차함수에 대해 정리한 글입니다. 🔹 1. 문법 설명Swift에서 매우 핵심적인 개념으로 컬렉션 처리 (Array, Set, Dictionary) 에 자주 사용됩니다.다른 함수를 전달 인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수를 고차함수라고 합니다.for문보다 코드가 간결하고, 의도를 명확하게 표현할 수 있다는 장점이 있습니다.UI 코드에서도 종종 활용되며 SwiftUI에서도 자주 활용됩니다. 🔹 2. 주요 고차 함수와 코드 예제map콜렉션 내부의 데이터를 가공하여 새로운 콜렉션을 생성하는 함수인자를 클로저로 받아 컨테이너 내부에 들어있는 요소들의 값을 어떻게 바꿀 것인지 정합니다.let numbers = [1, 2, 3, 4]..
📘 Swift 문법 정리: 클로저(Closure)Swift 문법 중 클로저에 대해 정리한 글입니다.Swift를 공부하다 새로운 기술을 많이 보게 되는데가장 흥미롭게 공부하는데 시간이 꽤 걸린 클로저에 대해 알아보려고 합니다. 🔹 문법 설명클로저를 한마디로 정의한다면 익명함수라고 할 수 있습니다.함수에서 이름을 땐 기능 블록을 의미합니다.하지만, 사실은 func 키워드를 이용해 이름이 붙어있는 함수들도 모두 클로저라고 합니다. 📌 이름이 있는 클로저(Named Closure) + 이름이 없는 클로저(Unnamed Closure) = 클로저 (Closure)여기서 우리는 Named Closure 를 함수라고 부르고 있으며Unnamed Closure를 클로저라고 말합니다. 클로저가 함수보다 큰 범위인 ..

프로젝트를 진행하다보면 만날 수 밖에 없고 반드시 해결해야 할 에러(Error)를 만나게 되는데요오늘은 에러를 해결하기 위한 방법인 에러와 에러 처리 방식에 대해 알아보도록 하겠습니다. 오류(Error)란?스위프트에서 Error란 오류를 보여주는 하나의 프로토콜로 오류가 발생하게 되면 throw로 해당 오류를 알려주게 됩니다. 오류 표현 방법으로는 Error 프로토콜을 사용하여 열거형을 통해 오류를 표현하게 됩니다.enum 오류이름: Error { case 종류1 case 종류2 case 종류3} 예시로 문자열을 숫자로 바꾸는 경우 발생할 수 있는 오류를 작성해본다면 아래와 같이 작성될 수 있습니다.enum IntParsingError: Error { case overflow case invalidIn..
swift에서 사용하던 타입 중 가장 대표적인 Int, String, Double의 경우 스위프트에 내장되어 있는 기본 타입인 Basic Type이라고 한다면 개발자가 마음대로 만들어 쓸 수 있는 타입인 Custom Type이 있다.그 중 하나에 대해 오늘 알아보려 한다.열거형 (Enumeration)타입 자체를 한정된 사례 안에서 정의할 수 있는 타입타입으로 만든 경우, 미리 정의해둔 타입의 케이스에서 벗어날 수 없으므로코드의 가독성과 안정성이 높아짐ex) 월, 화, 수, 목, 금, 토, 일 / 가위, 바위, 보 enum Weekday { case monday case tuesday case wednesday case thursday case friday case saturd..
프로토콜규약 / 협약최소한의 요구사항만 가지면 사용 가능특정 역할을 하기 위한 메소드, 프로퍼티, 기타 요구사항등의 청사진protocol MyProtocol { func doing() -> Int // 요구사항}프로토콜이 필요한 이유?상속의 경우 하나의 클래스만 상속이 가능( 다중 상속 불가능)상속의 경우 기본적인 상위클래스의 메모리 구조를 따라갈 수 밖에 없음(필요없는 속성/메서드도 상속됨)class Bird { var isFemale = true func layEgg() { if isFemale { print("새가 알을 낳는다.") } } func fly() { print("새가 하늘로 날아간다.") ..
여러가지로 이루어진 연관된 데이터는 어떻게 저장할까?튜플을 활용한다.튜플원하는 연관된 데이터의 조합으로 어떤 형태든 만들 수 있는 타입(다만, 변수를 선언과 동시 해당 멤버(데이터의 종류 및 갯수)는 결정되므로 추가/ 삭제는 불가) ex) 좌표 (Int, Int) / 3차원 공간( Int, Int, Int) - 접근할 때는 변수명.0, 변수명.1 ==> 점을 활용하여 접근 이름이 매겨진 튜플데이터의 각 요소에 이름을 붙일 수 있음 ex) var iOS = ("Swift", 2024)var iOS = (language: "Swift", year: 2024) - 접근할 때 iOS.language, iOS.year로 접근 가능 ==> 코드의 가독성 높아짐 튜플 분해튜플의 각 요소를 각각 상수, 변수화 가능(바..
타입 캐스팅이란?인스턴스의 타입을 확인하거나 어떠한 클래스의 인스턴스를해당 클래스 계층 구조의 슈퍼클래스나 서브 클래스로 취급하는 방법 - 메모리 값을 수정하는 것은 아님- 단순히 해당 타입의 인스턴스인 것처럼 취급하려는 목적class Person { var id = 0 var name = "이름" var email = "abc@gmail.com"}class Student: Person { var studentId = 1}class Undergraduate: Student { var major = "전공"}let person = Person()let student = Student()let undergraduate = Undergradutae()is 연산자타입에 대한 검사를 수행하는 연산자 (..