일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 앱개발
- 파이썬 풀이
- 알고리즘 공부
- UIKit
- 백준 온라인 저지
- ios
- BFS
- Algorithm
- greedy algorithm
- dfs
- 오토레이아웃
- Android
- Autolayout
- Til
- 알고리즘
- 프로그래머스
- HIG
- 정렬
- swift
- error
- Kotlin
- Python
- 백준온라인저지
- iOS개발
- 안드로이드 공부
- 파이썬
- 공부
- Swift공부
- 그리디 알고리즘
- Clean Architecture
- Today
- Total
목록ios (43)
Tori의 개발 공부

UserDefaults란? 앱 실행 시 지속적으로 키-값 쌍을 저장하는 사용자의 기본 데이터베이스에 대한 인터페이스이다. 런타임 환경에서 동작하면서, 앱이 실행되는 동안 default database에 접근해 데이터를 기록하고 가져오는 역할을 한다. 싱글톤 패턴으로 설계되어 앱 전체에서 단 하나의 인스턴스만 존재함 데이터 저장 open func set(_ value: Any?, forKey defaultName: String) 함수를 사용한다. set함수에는 String, Double, Int 등 value 매개변수에 다양한 타입이 있지만, 데이터를 저장할 때에는 저장 가능한 타입 형식이라면 어떤 값을 입력해도 오류가 발생하지 않는다. Int, Float, Double, Bool, URL? 같은 공통 유..

프로토콜이란 프로토콜 : 특정 역할을 하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진을 정의하는 것 정의해 둔 프로토콜을 실제 구조체 클래스 등에서 채택을 해 해당 요구사항을 정의한다. -> 이를 '해당 프로토콜을 준수한다'라고 표현 프로토콜을 준수하기 위해서는 요구사항을 모두 구현해야 한다. 프로토콜은 정의를 하고 요구사항을 제시만 할 뿐 스스로 기능을 구현하진 않는다. 프로토콜 구현 protocol 프로토콜이름{ 프로토콜 정의 } 프로토콜 채택 타입 명: 프로토콜 이름 형태로 사용 여러 개 채택 시 콤마로 구분 지어 사용 만약 클래스에서 프로토콜을 채택할 때, 다른 클래스를 상속받는 클래스라면 상속받을 클래스 이름 다음에 채택할 프로토콜을 나열함 ex) class A : 상속 클래스, 프로토..

타입 캐스팅이란? 일반적으로 타입 캐스팅의 의미는 형변환으로 다른 형태의 자료형으로 변환하는 것을 의미한다. swift의 특징 중 하나는 데이터 타입의 안전을 위해 각기 다른 값 교환을 엄격히 제한한다. -> 다른 언어에서 지원하는 암시적 데이터 타입 변환을 지원하지 않는다. var num :Double = 3.3 var convertedNum:Int = Int(num) convertedNum = 5.5 //오류 발생 다른 언어에서는 5.5를 대입시 Double -> Int로 암시적 형변환이 이루어져서 대입되므로 오류가 발생하지 않지만 스위프트에서는 오류가 발생한다. 스위프트에서 Int(num)부분은 타입을 변환한 것이 아니라 Int의 이니셜라이저를 통해 기존 값을 전달받아 새로운 Int구조체의 인스턴트..

실행 결과 버튼을 통해서 이미지를 추가하고 추가한 이미지를 화면에 띄워준다. 레이아웃 상단에 네비게이션 바를 추가해 주고, add형식의 바버튼을 추가해 준다. 화면 중앙에는 UIImageView를 추가한다. 아웃렛 변수 및 액션 함수 추가 1. 선택한 이미지 뷰를 출력해 주기 위해 이미지 뷰의 아웃렛 변수 연결한다. 2. 버튼을 통해 이미지 추가 동작을 실행할 것이므로 버튼에 액션 함수를 연결한다. Add 버튼 @IBAction func addBtnClick(_ sender:UIButton){ let alert = UIAlertController(title: "Title", message: "message", preferredStyle: .actionSheet) let library = UIAlertAc..