IOS

    IOS - UIAlertController 팝업(알림)창

    1. 알람 객체 선언 및 초기화 2. 알람 버튼 만들기 3. 알람 객체와 알람 버튼 연결 4. 화면에 표현 이 순서대로 진행하면 된다. 1. let alert = UIAlertController(title: "성공", message: "회원가입 완료!", preferredStyle: UIAlertController.Style.alert) UIAlertController객체 생성 및 초기화. 2. let okAction = UIAlertAction(title: "확인", style: .default) {(action) in // 버튼을 클릭시 할 작업을 넣는다. return } 예를 들어 버튼을 클릭하면 메인화면을 보여주겠다 라고 할 경우 let okAction = UIAlertAction(title: "..

    Swift - DateFormatter

    DateFormatter는 날짜, 시간 등과 관련된 객체이다. 에를들어 "2020-05-16 11:30" String 형태를 Date 형태로 변환하여 날짜를 계산한다던지, "2020-05-16 11:30" String을 "2020년 05월 15일 오전 11시 30분" 형태로 변환한다던지.. 1. Date를 원하는 형식의 Format로 변환. Date()를 선언하면 현재의 Date를 얻을 수 있다. 이 때 얻은 Date는 "2020-08-13 09:14:48 +0000"이런 형태로 전달받게된다. 원하는 형식으로 바꾸고자 한다면 DateFormatter의 dateFormat이라는 함수를 이용하면 된다. 예) "yyyy-MM-dd HH:mm" -> "2020-03-11 02:52" yyyy: 년도 MM: 월 ..

    IOS - Local Notification

    Local Notification(로컬 알림) - 앱 내에서 자체적으로 만든 특정 메시지를 전달하는 알림 - 사용자의 관심을 끄는데에 기본적인 목적이 있다. - 알림을 재생하거나, 앱 아이콘에 뱃지를 지정할 수 있다. - 예를들어 백그라운드앱은 앱이 특정 작업을 완료할 때 경고를 표시하도록 시스템에 요청을 할 수 있다. - 사용자가 원하는 중요한 정보를 전달하는 방법 중 하나이다. UNNotificationRequest(UN은 User Notification의 약자) Local Notification을 이용하기 위해 UNNotificationRequest를 작성해야한다. UNNotificationRequest을 작성하려면 3가지 내용이 필수적으로 요구가 된다. 1. ID(identifier) - 각각의 ..

    Login

    대부분 앱에서는 사용자의 신원정보를 필요로 하기 때문에 필수적인 기능이라고 할 수 있다. 로그인 기능을 사용하게되면 사용자가 앱 내에서 활동한 기록, 정보들을 각 계정마다 클라우드에 안전하게 보관할 수 있으며, 어느 기기, 어느곳에서 로그인을 하더라도 각 사용자마다 일관성 있는 서비스를 제공할 수 있다.

    IOS - charts library

    다양한 차트들을 쉽게 나타낼 수 있게 해주는 라이브러리 관련 주소 - https://github.com/danielgindi/Charts GitHub - danielgindi/Charts: Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart. Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart. - GitHub - danielgindi/Charts: Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroi... gith..

    IOS - COCOAPODS

    COCOAPODS: - IOS, macOS, tvOS, watchOS등 애플 플랫폼에서 개발을 할때 외부 라이브러리를 관리하기 쉽도록 도와주는 의존성 관리도구. - 프로젝트에서 필요한 외부 라이브러리를 코코아팟을 통해 쉽게 관리하고, 사용할 수 있다. 설치방법: 터미널에서 $ sudo gem install cocoapods 적용 방법: 터미널에서 ls, cd키워드를 이용해서 프로젝트 폴더 내부로 진입한다. ls: 현재 위치 상의 폴더와 파일을 나타내는 커맨드 cd 이동할위치: 이동할위치로 이동하게되는 커맨드 프로젝트 폴더 내부에서 pod init을 입력하게되면 프로젝트에 Podfile이라는 프로그램이 생성된다. 프로그램을 열어서 pod '라이브러리 이름' 형식으로 라이브러리를 추가해주면 된다. 라이브러리..

    Swift - Codable Protocol

    Codable Codable은 Swift의 Decodable과 Encodable프로토콜을 결합한 프로토콜이다. 이들은 사용자 정의 유형에 대한 데이터 디코딩 및 저장 또는 전송될 인코딩 데이터의 표준을 제공한다. JSON과 함께 Codable을 사용하면 데이터 개체를 반환하기 위해 코드 구문 분석에 필요한 모든 검사가 필요하지 않으며 데이터가 복잡해짐에 따라 다양한 복잡성을 처리하여 코드를 가능한 최소화하며 깔끔하게 유지한다. 이러한 코드는 읽기 쉬우며 유지관리가 가능하며 데이터가 복잡해 지면 해당 데이터를 Swift객체로 구문분석하는 코드가 많아지고 유지관리가 힘들어 진다. 예시를 들어보자. // JSON Data: { "id": 1234, "src": "//api.someHost.com/version..

    IOS - URL Session을 이용한 HTTP통신

    URL Session을 이용한 HTTP통신 웹 통신과 Protocol - 인터넷 상에서의 통신을 말한다.(소식을 전한다) - 많은 정보들이 주고 받기에 인터넷에는 엄격한 규약이 존재한다. 이것을 Protocol 이라고 부른다. ex) 메일을 주고받을때 - SMTP 파일을 주고받을때 - FTP 브라우저, 웹서버와 통신할 때 - HTTP HTTP(Hyper Text Transfer Protocol) - Hyper Text를 전송하기 위한 프로토콜 - HTML문서를 주고받을 때 사용 요청: request 응답: response 클라이언트에서 서버에 요청을 하면 그에 맞는 응답 결과를 돌려준다. Http패킷 헤더에는 보내는사람의 주소 받는사람의 주소, 생존시간 바디에는 우리가 전하고자하는 실제 내용이 담겨있다...

    IOS - Timer

    Timer: - 특정 시간이 지난 후에 이벤트를 발생시키거나 반복적인 주기로 특정작업을 수행하는등의 행위를 하는 이벤트. - Swift에서 Timer라는 클래스로 타이머를 구현할 수 있다. - GCDapi에있는 디스패치소스타이머로 구현할 수 있다. GCD(Grand Central Dispath api) - ( 작업을 병렬적으로 처리하기위해 애플이 제공하는 API) - 쓰레드를 만들거나, 관리해야하는 어려운 작업들을 맡아서 해줌. - GCD를 이용하면 개발자는 그저 태스크들이 담긴 큐를 만들고 그 큐를 GCD에 던져버리면 GCD가 모든 쓰레드를 관리해줌.

    IOS - ObserverPattern

    옵저버패턴: - 한 Object의 상태가 바뀌면 그 Object를 구독하는 다른 객체들에 연락이 가고 자동으로 내용이 갱신되는 디자인 패턴으로 1:N의 관계를 정의함. - 관찰중인 객체에서 발생하는 이벤트를 여러 다른 객체에 알리는 메커니즘을 정의할 수 있는 디자인패턴. - 다른 객체의 상태가 변경될 때 마다 어떤 이벤트를 실행하고 싶을 때 주로 사용. - 주로 MVC패턴에서 사용. - Model은 ViewController의 타입에 대해 알 필요 없이 상태가 변경될 때 마다 이를 ViewController에 전달. - 여러개의 ViewController가 하나의 Model의 변경사항을 사용할 수 있게 됨. 디자인 패턴들은 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합되는 디자인을 사용해야..