[ios] 친절한 어플리케이션(1) - TextField에서 콤마(,)로 숫자 단위 구분하기 안녕하세요. 현재 제가 진행하고 있는 가상화폐 관련 프로젝트에는 사용자가 구매했던 당시 코인의 가격과 총 얼마치를 구매했는지를 입력하는 TextField들이 있습니다. 물론 TextField를 올리고 사용자가 입력한 데이터를 처리하는 것은 어렵지 않습니다. 하지만 저의 프로젝트에서는 금액을 입력을 해야하기 때문에 조금만 단위가 커져도 ,를 통한 구분이 없기 때문에 액수를 정확히 입력했는지를 확인하기도 어렵고 보기에도 그렇게 좋지는 않습니다. 200000 : 단위 구분이 없는 값 200,000 : 단위 구분을 한 값 오늘은 이렇게 사소해보이지만 사용자에게는 보다 편리함을 제공하는, 즉 친절한 프로그램을 만드는데 필..
안녕하세요. 기본적으로 지금까지 했던 프로젝트에서는 NavigationBar에 refresh 버튼을 만들어 해당 버튼을 누르면 refresh가 되게 하였는데요. 오늘은 이보다 사용자가 사용하기에 편리한 방법인 리스트를 아래로 잡아 당겨 놓으면 refresh가 되게 하는 법을 알아보도록 하겠습니다. 직접 구현해보니 생각보다 훨씬 쉬운 방법이였습니다. 그럼 바로 시작해보도록 하겠습니다. 1. refreshControl 가장 먼저 ViewController 클래스 안에 UIRefreshControl을 다음과 같이 생성합니다. 그리고 생성한 refreshControl를 사용할 테이블 뷰에 붙입니다. iOS 버전에 따라 refreshControl을 붙여주는 방법은 다릅니다. 10.0 이상은 기본적으로 테이블 뷰에..
[ios] 코드로 디바이스 종류 알아내기 안녕하세요. 오늘은 코드로 디바이스 종류를 검사하는 방법을 알아보도록 하겠습니다. 연습 프로젝트를 진행 중인데 테스트 도중 디바이스의 사이즈 때문에 SE 이하의 모델에서는 키보드가 올라오면UITextField와 그 밑에 있는 요소들이 가려지는 문제가 발생했습니다. 이전에 이러한 문제를 다루는 포스팅을 했었습니다. [ios] 키보드가 TextField를 가리는 문제점 위의 포스팅에서 키보드가 올라오면 일정 값만큼 뷰 전체를 올려주는 방법을 사용했습니다. 하지만 저의 프로젝트에선 특정 디바이스에서만 해당 기능을 필요로 하기 때문에 사용자의 디바이스가 어떤 것인지 어플리케이션이 실행 중에 알아야 했습니다. 디바이스 별 크기는 다음의 사진과 같습니다. 위를 활용하여 아래..
[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 를 활용해 날짜와 시간을 추출하는 방법에 대해 알아..
Codable을 이용한 데이터 저장 안녕하세요. 지난 포스팅에서는 사용자 정의 타입을 저장하고 불러오기 위해 저정하고 불러오기 전 NSCoding과 NSKeyed(Un)Archiver를 이용해 아카이빙/언아카이빙을 하는 방법을 알아보았습니다. [ios] NSCoding과 NSKeyed(Un)Archiver를 이용한 데이터 저장 하지만 포스팅의 마지막에도 언급했듯이 모든 프로퍼티에 대해 인코딩과 디코딩을 설정해주어야 하기 때문에 프로퍼티가 많아지게 되면 상당히 번거로운 작업이 될 수 있다는 단점을 언급했습니다. 오늘은 이러한 번거로운 점을 보완하기 위해 Swift4에 새로 등장한 Codable이란 프로토콜에 대해 간단히 알아보고 사용해보는 시간을 갖도록 하겠습니다. Codable Codable은 Encod..
NSCoding + NSKeyed(Un)Archiver 안녕하세요. 오늘은 데이터를 디바이스에 영구적으로 저장하는 방법, 그중에서도 String, Int, Float과 같은 기본 데이터 타입이 아닌 클래스의 인스턴스와 같은 사용자 정의 데이터 타입을 저장하는 방법을 알아보도록 하겠습니다. 이 포스팅을 들어가기 앞서 제가 작성한 UserDefaults를 활용한 데이터 저장법을 먼저 보고 오시면 포스팅을 읽는데 도움이 되실 것 같습니다. UserDefaults를 이용한 데이터 저장 저는 이번 예제에서 해야 할 일들의 목록인 "ToDo List" 을 기록하는 간단한 어플리케이션을 만들며 진행하도록 하겠습니다. 그럼 바로 시작해보도록 하겠습니다 NSCoding UserDefaults를 이용해 바로 저장하던 기본..
- Total
- Today
- Yesterday
- UIResponder
- Protocol
- 부스트코스
- storyboard
- 아이폰
- TableView
- 스위프트
- 알고리즘
- 오토레이아웃
- nodejs
- iPhone
- oauth2.0
- Swift
- notificationcenter
- Codable
- CRUD
- Algorithm
- IOS
- 프로토콜
- 백준
- 테이블뷰
- 클로저
- Operating System
- 운영체제
- segue
- Xcode
- boostcourse
- UIControl
- auto layout
- edwith
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |