안녕하세요. 기본적으로 지금까지 했던 프로젝트에서는 NavigationBar에 refresh 버튼을 만들어 해당 버튼을 누르면 refresh가 되게 하였는데요. 오늘은 이보다 사용자가 사용하기에 편리한 방법인 리스트를 아래로 잡아 당겨 놓으면 refresh가 되게 하는 법을 알아보도록 하겠습니다. 직접 구현해보니 생각보다 훨씬 쉬운 방법이였습니다. 그럼 바로 시작해보도록 하겠습니다. 1. refreshControl 가장 먼저 ViewController 클래스 안에 UIRefreshControl을 다음과 같이 생성합니다. 그리고 생성한 refreshControl를 사용할 테이블 뷰에 붙입니다. iOS 버전에 따라 refreshControl을 붙여주는 방법은 다릅니다. 10.0 이상은 기본적으로 테이블 뷰에..
[Swift] String 좀 더 알아보기 (2) 안녕하세요. 오늘은 Swift의 String에 대해 더욱 깊게 알아보는 시간을 갖도록 하겠습니다. 이 글을 읽기 전 제가 이전에 쓴 String 좀 더 알아보기 (1) 를 보고 오시면 도움이 될 것입니다. 지난 포스팅에서 제가 Swift에서 String은 각각의 문자에 대해 다른 언어들과 다르게 정수의 인덱스로 접근이 불가능하다고 살짝 언급하였습니다. ex) String[2] 오늘은 이러한 이유에 대해 공부해도록 하겠습니다. Unicode Scalars Unicode : Unicode는 각기 다른 입력 시스템의 문자를 인코딩, 표현, 처리하기 위한 국제적인 표준입니다. Unicode로는 모든 언어의 거의 모든 문자를 표현하고 텍스트 파일이나 웹 페이지와 ..
[ios] 코드로 디바이스 종류 알아내기 안녕하세요. 오늘은 코드로 디바이스 종류를 검사하는 방법을 알아보도록 하겠습니다. 연습 프로젝트를 진행 중인데 테스트 도중 디바이스의 사이즈 때문에 SE 이하의 모델에서는 키보드가 올라오면UITextField와 그 밑에 있는 요소들이 가려지는 문제가 발생했습니다. 이전에 이러한 문제를 다루는 포스팅을 했었습니다. [ios] 키보드가 TextField를 가리는 문제점 위의 포스팅에서 키보드가 올라오면 일정 값만큼 뷰 전체를 올려주는 방법을 사용했습니다. 하지만 저의 프로젝트에선 특정 디바이스에서만 해당 기능을 필요로 하기 때문에 사용자의 디바이스가 어떤 것인지 어플리케이션이 실행 중에 알아야 했습니다. 디바이스 별 크기는 다음의 사진과 같습니다. 위를 활용하여 아래..
[ios] 스토리보드 없이 CRUD - 데이터 영구 저장 안녕하세요. 오랜만에 CRUD 시리즈를 포스팅합니다. 저번 포스팅을 마지막으로 기본적인 CRUD 기능은 모두 완성했습니다. 오늘부터는 부가적인 기능들을 추가해볼텐데요. 오늘은 그 중 첫번째로 생성된 데이터를 영구 저장하도록 하는 기능을 추가해보도록 하겠습니다. 제가 포스팅한 관련 글들을 먼저 읽고 오시는 것을 추천드립니다. [ios] UserDefaults를 이용한 데이터 저장 [ios] NSCoding과 NSKeyed(Un)Archiver를 이용한 데이터 저장 [ios] Codable 을 이용한 데이터 저장 그럼 바로 시작해보도록 하겠습니다. Codable Protocol 먼저 객체를 저장할 것이기 때문에 Friend 클래스가 Codable 프로..
[ios] Keychain으로 안전하게 데이터 저장하기 안녕하세요. 오늘은 비밀번호를 포함한 사용자의 민감한 정보를 Keychain을 통해 안전하게 저장하는 방법을 알아보도록 하겠습니다. 기존의 포스팅들에서 데이터를 저장하기 위해 저는 UserDefaults를 사용했습니다. 하지만 UserDefaults는 단순한 데이터를 저장하는데는 문제가 없지만 민감한 비밀번호나, 인증서같은 정보들, 혹은 사용자가 생각하기에 본인만의 민감한 정보들을 저장하기에는 안전하지 않습니다. 그러므로 오늘은 Keychain이 무엇인지와 간단한 사용법을 알아보도록 하겠습니다. Keychain이란? 민감한 데이터들을 안전하게 저장하는 것은 굉장히 복잡한 암호화 절차를 필요로 합니다. 하지만 이러한 알고리즘을 개발자들이 일일히 작성하..
[ios] 이미지에 tintColor 적용하기 안녕하세요. 오늘은 이미지 TintColor를 적용해보려 합니다. 제가 왜 이미지에 TintColor를 적용시키게 되었냐면 제가 진행중인 프로젝트에서 받아온 아이콘을 이미지로 사용하는데 프로젝트 전체적인 색에 맞추어 아이콘의 색도 바꿔주어야 했기 때문에 그 방법에 대해 알아보고 기록하고자 이렇게 포스팅을 합니다. 그럼 본격적으로 시작해보도록 하겠습니다. TintColor? 우선 TintColor가 무엇인지 알아보겠습니다. TintColor는 시각적으로 화면 상의 어떤 요소가 현재 활성화되었는지를 보여주는 요소입니다. 예를 들어 NavigationBar의 아이템의 Refresh 버튼이나 Back 버튼을 누르면 단순히 눌리기만 하는 것이 아니라 눌렀을 때는 흰색..
어플리케이션을 제작할 때 가끔 현재 날짜를 받아와야 할 경우가 있습니다. 오늘은 이렇게 현재 날짜를 받아오는 방법을 간단히 알아보는 시간을 갖도록 하겠습니다. 기본 Date 객체를 생성하면 현재 날짜와 시간을 받아올 수 있습니다. 실제로 이 date 변수를 출력해보면 다음과 같습ㄴ다. "Jan 1, 2018 at 9:03 PM" 원하는 형태의 포맷의 날짜로 바꿔줍니다. 월(Month) : MM 분(Minute) : mm 해당 포맷을 문자열로 반환합니다. 그리고 가끔 API를 사용하다보면 날짜와 시간을 유닉스 기준 시간으로 제공해주는 곳이 있습니다. 이러한 경우도 Date 를 활용해 원하는 값을 추출할 수 있습니다. 마무리 오늘은 이렇게 간단하게 Date 를 활용해 날짜와 시간을 추출하는 방법에 대해 알아..
[Swift] String 안녕하세요. 오늘은 Swift의 타입 중 하나인 String에 대해 간단히 알아보는 시간을 갖도록 하겠습니다. 제가 String을 포스팅하게 된 이유는 굳이 공부할 필요 없다고 생각하여 사용하다가 여러 크고 작은 문제에 부딛혀 이렇게 제대로 공부를 하고 기록을 하고자 포스팅을 하게 되었습니다. 이번 포스팅에서는 기본 String부터 조금 더 심화된 부분까지 다뤄보도록 하겠습니다. 그럼 바로 시작해보도록 하겠습니다 Basic Swift의 String에서는 + 연산이 가능합니다. Swift4에서는 """ 과 """ 사이에 여러 줄을 넣을 수 있습니다. 기본적으로 Swift에서 String은 값 타입입니다. (String은 Struct입니다.) 기본적으로 String에는 내장된 메소..
- Total
- Today
- Yesterday
- 클로저
- auto layout
- 테이블뷰
- nodejs
- Operating System
- Protocol
- Xcode
- edwith
- UIControl
- 백준
- 부스트코스
- 아이폰
- iPhone
- boostcourse
- IOS
- 스위프트
- 운영체제
- Algorithm
- CRUD
- TableView
- UIResponder
- 프로토콜
- Swift
- oauth2.0
- 오토레이아웃
- Codable
- notificationcenter
- segue
- storyboard
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |