일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- collectionview
- 네트워크
- RxSwift
- 이론
- 앱개발
- swift
- 반응형
- 실습
- 협업
- forEach
- 학과별커뮤니티
- CS
- AppStore
- 디자인 패턴
- 구름톤 유니브
- 대표
- async
- 세종대학교
- 기초문법
- 토이프로젝트
- 딕셔너리
- 스트럭트
- uikit
- MVVM
- struct
- 프로토콜
- mvc
- SwiftUI
- WeatherKit
- ios
- Today
- Total
목록Swift 이론 (49)
스윞한 개발자
이번 포스팅은 고차함수에 대해 알아볼게요! 고차함수,, 뭔가 좀 어렵다는 느낌이 들지만 !! 차근차근 또 배워가며 기록해볼게요 고차함수 - Higher Order Functions "고차함수는 함수를 인자로 받거나 함수를 반환하는 함수를 말합니다." 스위프트에서는 여러가지 고차함수가 제공되고 있으며, 일반적인 고차함수로는 map, filter, reduce가 있습니다. 컬렉션에 대해 작업을 수행하고 새로운 컬렉션을 반환합니다. 1. map : 컬렉션의 각 요소에 대해 특정 연산을 수행하고, 그 결과를 새로운 컬렉션으로 반환합니다. 2. filter : 컬렉션의 요소 중 특정 조건을 만족하는 요소들로 새로운 컬렉션을 생성하여 반환합니다. 3. reduce : 컬렉션의 요소를 결합하여 단일 값으로 줄여 반환..
스위프트에서는 typealias를 사용하여 타입에 대한 별칭을 만들 수 있습니다. typealias는 기존 타입에 대해 더 읽기 쉬운 이름을 지정하는 데 사용됩니다. typealias NewName = ExistingType NewName은 ExistingType에 대한 새로운 이름으로 사용됩니다. typealias UserID = String typealias Age = Int func printUserInfo(userID: UserID, age: Age) { print("User ID: \(userID), Age: \(age)") } let id: UserID = "user123" let userAge: Age = 30 printUserInfo(userID: id, age: userAge) // 출력..
이번 포스팅은 프로토콜에 대해 자세히 알아보겠습니다! 프로토콜이란 ? * 설계하고 설계대로 만드는 방법 프로토콜은 Swift에서 인터페이스를 정의하는 방법입니다. (약속) 명명 규칙 > 일반적으로(##able, ##delegate, ##ing 등) 프로토콜은 특정 역할을 수행하기 위해 필요한 메서드, 프로퍼티, 이니셜라이저 등의 요구사항을 정의합니다. 클래스, 구조체, 열거형은 프로토콜을 채택하여 프로토콜에 정의된 요구사항을 구현할 수 있습니다. - 특징 1. 요구사항 정의 : 프로토콜은 특정 역할을 수행하기 위해 필요한 메서드, 프로퍼티, 이니셜라이저 등의 요구사항을 정의합니다. 프로토콜은 선언만 하고 구현하지 않습니다. // 프로토콜 정의 protocol Vehicle { var numberOfWhe..
구조체 Struct에 대해 좀 더 자세히 알아보겠습니다! mutating이란? 'mutating'은 Swift에서 구조체('struct') 내부에서 메서드가 자신을 수정할 수 있는지를 나타내는 특별한 키워드입니다. 기본적으로 구조체(Struct)와 열거형(enum)은 값 타입이므로 해당 인스턴스의 프로퍼티를 변경하려면 메서드가 'mutating'으로 표시되어야 합니다. 'mutating' 키워드를 사용하면 구조체 내부에서 프로퍼티의 값을 변경하거나, 다른 메서드를 호출하여 자신을 수정할 수 있습니다. 구조체가 값 타입이지만 메서드 내부에서 상태를 변경하거나 특정 작업을 수행할 수 있도록 허용해줍니다. struct Point { var x: Int var y: Int mutating func moveBy(..
개발을 하다보면 수많은 에러들을 만나게 되는데... 오늘은 에러에 대해 살짝 알아보도록 하겠습니다!! - 예외처리 - 우리가 원하지 않는 케이스 - 정상적으로 돌아가지 않는 결과물 totalNumber / inputNumber 0으로 나눌 수 없습니다. -> 에러를 처리해줘야합니다. if 문으로 해결 if inputNumber != 0 { throw totalNumber / inputNumber } do { try devideByinputNumber(input) }catch{ print(error) { 예외를 던져주는 throw 받아주는 catch를 사용합니다. * 시험삼아 해볼 do * 에러 받기 catch * 에러 던지기 throw error do{ try code }catch{ catch error..
지난시간에 클래스에 대해 공부하고 포스팅 해보았습니다! 이번에는 클래스 중 파이널 클래스에 대해 포스팅 해볼게요 ㅎㅎ Swift에서 파이널 클래스는 다른 클래스가 상속을 통해 이 클래스를 확장할 수 없도록 제한하는 특성을 가지는 클래스입니다. 파이널 클래스는 더 이상 상속될 수 없으며, 최종적인 구현을 나타내기 위해 사용됩니다. final class Person { var name: String var age: Int init(name: String, age: Int) { self.name = name self.age = age } func greet() { print("Hello, my name is \(name). I'm \(age) years old.") }} 위의 예시에서 클래스는 'final' ..
딕셔너리! 딕셔너리는 다른 언어 문법에서도 있는 기본적인 문법입니다. 사용하는 원리나 방법은 동일하기에 똑같이 사용하시면 됩니다! Swift에서 딕셔너리는 키(Key)와 값(Value)의 쌍으로 이루어진 데이터 컬렉션입니다. 딕셔너리는 키를 사용하여 값에 접근하고 저장하는 데 사용됩니다. 딕셔너리는 빠른 검색속도를 제공하며, 특정 키에 해당하는 값을 빠르게 찾을 수 있습니다. 스위프트에서의 딕셔너리는 대괄호([])를 사용하여 정의하며, 각 키와 값은 콜론(:)으로 구분 됩니다. 딕셔너리의 키와 값은 모두 유형을 가질 수 있습니다. 키는 유일, 값은 중복될 수 있습니다. var studentScores = ["John": 85, "Sarah": 92, "Michael": 78] * 딕셔너리의 값에 접근 l..
나 너 좋아하냐? - 상속자들 - 네... 시작하기 전에.... 분위기를 풀고 시작해볼게요! Swift에서 상속은 클래스와 프로토콜 간에 가능합니다. 상속을 통해 기존의 클래스나 프로토콜을 확장하고 새로운 기능을 추가할 수 있습니다. * 클래스 상속은 부모 클래스로부터 속성과 메소드를 상속받아 새로운 클래스를 정의하는 것을 말합니다. * 클래스를 상속하기 위해서는 콜론(:)을 사용하여 상속할 클래스의 이름을 지정합니다. * 부모 클래스의 속성과 메소드를 서브클래스에서 재정의(오버라이딩)하거나 새로운 속성과 메서드를 추가할 수 있습니다. * 상속을 받은 클래스는 부모 클래스의 기능을 그대로 사용하면서 새로운 기능을 추가할 수 있습니다. * 프로토콜 상속은 기존의 프..