iOS
-
[iOS]GNB 글로벌 네비게이션 메뉴(탭메뉴) 생성하기iOS/project 2023. 5. 27. 18:26
하단에 메뉴가 고정되어 있고, 각 메뉴를 누를 때마다 페이지를 이동되는 탭메뉴를 만들어보자! 💡 짚고 넘어가면 좋은 개념 iOS의 View 표현 방법 iOS는 화면을 표현할 때 윈도우 / 뷰 객체를 사용한다. (무조건 하나 이상의 윈도우와 뷰를 가지고 있음) 윈도우는항상 UI 계층의 최상위에 위치하는 객채로, 화면을 꽉 채운다. 뷰의 일종이지만 직접 컨텐츠를 가지지 않고, 컨텐츠를 가진 뷰 객체를 내부에 배치해서 화면에 출력하는 역할만을 수행한다. 뷰는 윈도우의 일부를 자신의 영역으로 정의하여 컨텐츠를 스크린에 표현하고, 사용자의 입력에 반응하여 결과를 처리하는 역할을 수행한다. 이러한 윈도우와 뷰를 연결해주는 것이 viewController의 역할이다. 뷰 컨트롤러는 뷰의 계층을 관리해서 윈도우에 전달..
-
[Swift] 동시성 프로그래밍 방법(+동기/비동기에 대한 이해)iOS 2023. 5. 26. 17:58
💡 스레드(Thread)에 대해 먼저 짚고 넘어가자! 컴퓨터에서 처리하는 일의 단위를 태스크라고 부르고, 이 태스크는 프로세스로 만들어왔다. 초반에는 프로세스 단위로 스케줄링하고 여러 프로세스를 동시에 실행시키는 다중프로세스 방식으로 멀티태스킹을 실현했다. 하지만 프로세스 생성/컨텍스트 스위칭의 큰 오버헤드, 프로세스 사이 통신의 어려움 등의 문제점이 발생했고, 그 대안으로 나온 것이 바로 스레드이다! 스레드는 프로세스보다 작은 크기의 실행 단위라고 할 수 있다. 스레드의 등장으로 프로세스 대신 스레드가 실행 단위가 되었고, 스레드를 가지지 않는 프로세스는 더이상 존재하지 않게 되었다. [특징] 스레드는 개발자에게 태스크를 만드는 단위이자, 운영체제에는 실행 단위가 된다. 스레드는 코드, 데이터, 힙, ..
-
[iOS] UMC iOS 세미나 9주 차iOS/UMC 2022. 11. 21. 22:35
오늘 배운 내용 📕 Network - 클라이언트와 서버는 'HTTP 프로토콜'이라는 정해진 규칙으로 각각 요청, 응답을 수행한다. - HTTP 프로토콜은 GET, HEAD, POST, PUT, DELETE, ... 등의 옵션을 추가할 수 있다. REST API - 클라이언트와 서버가 주고받는 문장을 API라고 할 수 있다. - REST API는 Representational State Transfer의 약자로, 자원의 이름을 구분해서 자원의 정보를 주고받는 것이다. * 하나의 아키텍쳐 개념이며, 데이터를 URI 형식으로 구분한다. - REST API는 행위 / 자원 / 메세지로 구성된다. 행위 자원 메세지 GET / POST / PUT / DELETE URI를 통해 오브젝트에 접근 JSON 포맷의 데이터..
-
[iOS] UMC iOS 세미나 8주 차iOS/UMC 2022. 11. 14. 22:02
📕 Animation 애니메이션은 대표적으로 3가지 경우에 사용한다. 1. 시스템 상태 나타내기 2. 메뉴 및 전환을 나타내기 3. 시각적인 피드백 제공 애니메이션을 나타내는 방법에는 2가지가 있다. 1. UIView의 animate 사용 (iOS 4~) 2. Core Animation 사용 (iOS 10~) UIView.animate 메서드를 이용해서 애니메이션을 구현해보는 실습 // // ViewController.swift // Week8 // // Created by yeonsu on 2022/11/14. // import UIKit class ViewController: UIViewController { @IBOutlet weak var orangeView: UIView! @IBOutlet we..
-
[iOS] UMC iOS 세미나 7주 차iOS/UMC 2022. 11. 7. 22:17
💡 main thread는 항상 async 방식으로 사용해야 한다! sync를 사용하면 dead-lock 상태가 된다. (앱이 죽어버림) DB와 DBMS DB(Data Base): 데이터들의 집합체 관계형 데이터베이스: 파일 -> 테이블 형식으로 데이터를 관리하게 됨 UserDefaults 자동 로그인을 구현할 때 자주 사용한다 ex) 키 -> 로그인을 한 적이 있는지? / 값 -> 결과 - 키와 값의 쌍으로 데이터가 저장된다. (->딕셔너리) - 앱을 껐다 켜도 데이터가 보존된다. 단점: 하나의 key 값에 여러 value 저장해서 하나 꺼내오지 못함 1개의 key - 1개의 value ex) 유저의 이름, 전화번호, 주소, ... 3개의 정보를 따로 저장해서 하나하나 꺼내야 하는 귀찮음 존재 데이터 ..
-
[iOS] 6주 차 미션iOS/UMC 2022. 11. 5. 03:31
ViewController DispatchQueue를 활용하여 reminder 알림 기능을 구현하였다. // // ViewController.swift // Week6-project // // Created by yeonsu on 2022/11/05. // import UIKit import UserNotifications // 팝업 알림을 위해 필요 class ViewController: UIViewController { @IBOutlet var table: UITableView! var models = [Reminder]() override func viewDidLoad() { super.viewDidLoad() table.delegate = self table.dataSource = self } @..