일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Swift공부
- 앱개발
- 알고리즘 공부
- greedy algorithm
- 백준 온라인 저지
- 안드로이드 공부
- swift
- Android
- iOS개발
- Kotlin
- Level 1
- Algorithm
- 백준온라인저지
- BFS
- ios
- Python
- 오토레이아웃
- 파이썬
- Autolayout
- 정렬
- 파이썬 풀이
- Clean Architecture
- 공부
- SwiftUI
- 프로그래머스
- 알고리즘
- UIKit
- dfs
- error
- 그리디 알고리즘
- Today
- Total
목록분류 전체보기 (87)
Tori의 개발 공부
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c9Tovh/btsd4ejFW9r/Az5FK7xiJqi7imHd5M4lg1/img.png)
객체 지향 프로그래밍에서 프로토콜 지향 프로그래밍으로 객체 지향 프로그래밍 (OOP : Object-Oriented-Programming) 객체 지향 프로그래밍이란? - 프로그램을 수많은 객체들로 나누어 이들의 상호 작용을 통해 프로그램을 구현하는 방식이다. - 클래스의 상속을 통해 다형성을 구현한다 -> 공통 코드를 슈퍼클래스에서 제공하고 서브클래스는 이를 상속받아 구현 [단점] 슈퍼클래스에 너무 종속적이다. - 상속을 위해서 슈퍼클래스의 코드를 모두 알고있어야한다. - 대부분의 언어에서 다중 상속을 제공하고 있지 않아 서브 클래스는 자신한테 필요하지 않은 다른 서브클래스들의 공통 기능까지 상속받아야 한다. 이에 슈퍼클래스 또한 일부의 서브클래스들만 필요한 기능들이 계속 추가되다 보면 쓸데없이 규모가 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/zuQVn/btsdc69dd26/0rnRkyKKOtNQhYNnTYPufK/img.png)
고차함수란? 다른 함수를 전달인자로 받거나 함수의 실행 결과를 함수로 반환하는 함수이다. swift의 대표적인 고차함수로는 map, filter, reduce가 있다. map 컨테이너 내부의 기존 데이터를 변형해 새 컨테이너를 생성한다. 즉 전달받은 함수를 통해 변형된 데이터를 반환하여 새 컨테이너로 만들어준다. -> 기존값을 변경하는 것이 아니라 새로운 컨테이너를 생성하여 반환해 줌 // map //map과 for-in 문 비교 var doubleNumbers:[Int] = [] for number in numbers { doubleNumbers.append(number*2) } //[0,2,4,6,8] doubleNumbers = numbers.map({ (number) in return number..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/tPEwk/btsdjnuPG82/QSXaXSfi7bUk7T7NhfviKK/img.png)
오류와 오류 처리 오류처리란 프로그램이 오류를 일으켰을 때 이것을 감지하고 회복시키는 일련의 과정이다. 오류 표현 Error라는 프로토콜을 준수하는 타입의 값을 통해 표현한다. 사실상 Error프로토콜은 요구사항이 없는 프로토콜이지만, 오류를 표현하기 위해 Error프로토콜을 채택한다. -> Error프로토콜을 채택함으로써 해당 타입이 오류 처리를 위한 타입임을 알 수 있음 오류를 나타내기 위한 타입으로 주로 열거형을 사용함 enum MyError:Error{ case error1 case error2 case error3 } error프로토콜을 준수한 열거형을 하나 선언한 후 나올 수 있는 에러 유형별로 case를 나누어 작성해 준다. 오류 처리 과정 오류 종류를 미리 예상해 오류를 표현함 오류 발생 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cnUSvE/btsdhB7Yeyj/KWfc2iK5fJLdGU661kvYx1/img.png)
UserDefaults란? 앱 실행 시 지속적으로 키-값 쌍을 저장하는 사용자의 기본 데이터베이스에 대한 인터페이스이다. 런타임 환경에서 동작하면서, 앱이 실행되는 동안 default database에 접근해 데이터를 기록하고 가져오는 역할을 한다. 싱글톤 패턴으로 설계되어 앱 전체에서 단 하나의 인스턴스만 존재함 데이터 저장 open func set(_ value: Any?, forKey defaultName: String) 함수를 사용한다. set함수에는 String, Double, Int 등 value 매개변수에 다양한 타입이 있지만, 데이터를 저장할 때에는 저장 가능한 타입 형식이라면 어떤 값을 입력해도 오류가 발생하지 않는다. Int, Float, Double, Bool, URL? 같은 공통 유..