전체 글
-
TableViewCell 내부의 UIView에서 Gesture로 이벤트 처리하기iOS/Swift 2022. 1. 22. 20:42
안녕하세요!! 이번엔 테이블 뷰 셀 안에서 UIView를 클릭했을 때 이벤트를 처리하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 저번에는 Delegate 패턴을 사용하여 TableViewCell 내부의 UIButton에 대한 이벤트를 처리했었다. Delegate 패턴을 이용하여 TableViewCell 내부의 버튼 이벤트 처리하기 안녕하세요!! 이번엔 Delegate 패턴을 이용해서 TableViewCell의 버튼 이벤트를 처리하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Delegate 패턴이란? Deleg makemakeway.tistory.com 그런데 UIView에는 UIButton의 addTarget처럼 이벤트를 처리..
-
Swift ARC(Automatic Reference Counting)iOS/Wiki 2022. 1. 15. 21:13
안녕하세요!! 이번엔 Swift의 Automatic Reference Counting에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 ARC란? Swift의 메모리 관리 시스템으로, Automatic Reference Counting이라고 한다. 더이상 필요하지 않은(참조하는 변수, 상수가 없을 경우) 인스턴스를 자동으로 메모리에서 해제해준다. class Apartment { var unit: String var tenant: Person? init(unit: String) { self.unit = unit } deinit { print("\\(unit) is destoryed...") } } class Person { var name: String var regiden..
-
Swift SocketIO를 활용한 실시간 채팅 앱 구현iOS/Swift 2022. 1. 15. 21:00
안녕하세요!! 이번엔 SocketIO를 이용해서 실시간 채팅을 구현하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 평소에 메세지 앱을 한번 구현해보고 싶었지만, 뭔가 서버에 연결하는 과정이 필요할 것 같아서 미루고 있다가 SeSAC 과정을 통해서 구현해 볼 수 있는 기회가 생겼다!!🤩 먼저 UI구성에 대해서 생각해본 것은 테이블 뷰가 있고, 내 메세지를 표시할 셀과 상대방들의 메세지를 표시할 셀 두가지가 필요하다고 생각했다. 그리고 메세지를 보여줄 테이블 뷰 아래에 TextField를 둬서 사용자가 원하는 메세지를 보낼 수 있도록 처리했다. UI는 모두 코드로 작성했고, Snapkit 라이브러리를 사용해서 Constraints를 잡아줬다. Http 통신을 위한 라이브..
-
Swift Localization 처리하기(로컬라이징, 현지화)iOS/Swift 2022. 1. 14. 22:47
안녕하세요!! 이번엔 Swift에서 다국어 처리하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Localization 안녕하세요!! 이번엔 Swift에서 Localization에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Localization이란? 언어, 문화권이 다른 환경에서 앱을 사용할 수 있도 makemakeway.tistory.com Localization에 대해서 간략하게 정리해둔 글입니다. Localization 설정하기 Localization을 설정하기 위해 프로젝트를 만들고 스토리보드에 Label을 추가해줬다. Localization을 따로 설정하지 않으면, 이 Label들은 국가에 상관없이 정해진 글자만 출력한다..
-
LocalizationiOS/Wiki 2022. 1. 14. 20:29
안녕하세요!! 이번엔 Swift에서 Localization에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Localization이란? 언어, 문화권이 다른 환경에서 앱을 사용할 수 있도록 지원하는 서비스 Localization을 지원할 경우, 사용자 기기의 기본 언어에 따라 국제화(현지화)가 이루어진다. iOS 13 이상부터 사용자가 기기의 기본 언어와 관계없이 앱에서 선호하는 언어를 선택할 수 있다. 시간대, 숫자, 화폐 단위의 표현, 선호하는 레이아웃, 프로모션 등에서 차이가 발생할 수 있기 때문에, 언어 뿐만 아니라 문화적/환경적 측면도 고려할 필요가 있다. 사용법 Localizable.strings 각 나라와 지역에 맞는 정적 메세지(고정된 텍스트)를 제공 In..
-
페이지네이션(Pagination)iOS/Wiki 2022. 1. 13. 02:42
안녕하세요!! 이번엔 페이지네이션에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 한번에 서버에서 많은 양의 데이터를 받아오는 것은 서버에게도, 사용자의 device에도 큰 부담이다. 많은 양의 데이터를 다루는 API들을 살펴보면, 데이터들을 page 단위로 쪼개서 요청한 query에 따라 몇 번째 page를 보낼 것인지 결정하는 방법들이 쓰인다. 그래서 보통 API를 호출해서 데이터를 가져오게 되면, 따로 코드를 작성하지 않는 이상 오직 한 페이지의 데이터만을 보게된다. 여기서 페이지를 다루는 방법(언제, 어떻게 다른 페이지의 데이터를 가져올 것인가)을 페이지네이션이라고 한다. Pagination 방법 페이지네이션을 구현하는 방법은 3가지가 있다. OffsetPagin..
-
Swift 위치정보를 받아서 행정구역 단위로 나타내기(역 지오코딩, reverse geocoding)iOS/Swift 2022. 1. 13. 02:33
안녕하세요!! 이번엔 역 지오코딩을 구현하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 mkMapView를 공부하면서 위치정보를 나타내는 것에 대해 작성해보려고 한다. 먼저, 사용자의 위치정보를 받아오려면 위치정보에 대한 권한을 요청해야한다. Info.Plist에 위치와 관련된 속성들이 있다. Privacy - Location When In Use Usage DescriptioniOS 앱이 foreground에서 실행 중일 때에만 위치 정보에 액세스하는 경우 사용한다. iOS 11 이상에서 사용 가능하다. Privacy - Location Always and When In Use Usage DescriptioniOS 앱이 background에서 실행되는 동안 위치 정..
-
Delegate 패턴을 이용하여 TableViewCell 내부의 버튼 이벤트 처리하기iOS/Swift 2022. 1. 13. 02:19
안녕하세요!! 이번엔 Delegate 패턴을 이용해서 TableViewCell의 버튼 이벤트를 처리하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Delegate 패턴이란? Delegate는 한국어로 대리자, 위임자.... 라는 의미를 가지고 있다. 그렇다면 어떤 일을 대리하고, 위임하는 것일까?? 객체지향 프로그래밍에서 Delegate라는 것은 어떤 객체가 해야 하는 일을 부분적으로 대신 처리를 하는 것을 말한다. 예시 UITableView의 셀을 눌렀을 때 호출하는 기능은 TableViewDelegate에서 처리를 할 수 있지만, 셀 내부의 특정 버튼에 대한 이벤트를 처리할 수 없다. 이런 경우에는 커스텀 Delegate를 만들어서 처리해야한다. 위와 같은 Tab..