본문 바로가기

ios35

배열 Safe Index - 안전하게 배열 조회하기 배열은 인덱스를 통해 빠른 접근이 가능하다. 하지만 인덱스 범위를 넘게 되면 런타임 에러가 발생해 앱을 강제 종료 시킬 수 있어 치명적이다. 프로젝트 진행 중 인덱스를 접근할 일이 많았고, 이는 위험성을 가지고 있기 때문에 멘토님께서 safe Index를 사용하는 방법을 권유하셨다. 따라서 앱에서 인덱스를 통한 접근이 필요할 시 subscript를 사용하여 안전하게 접근할 수 있는 방법을 간단하게 정리해 보겠다. extension Array { subscript (safe index: Int) -> Element? { return indices ~= index ? self[index] : nil } } indices는 Collection 타입의 유효범위를 나타낸다. 예를 들어 arr = [1,2,3] 일.. 2024. 2. 29.
[IOS] URLSessrion을 통해 CLOVA Sentiment API 사용기 프로젝트 당시 API를 불러오기 위해 URL Session을 사용했었다. 작성했던 코드를 예제 삼아 URL Session 내용을 다시 한번 공부하고 정리해볼까 한다. URL Session이란? 네트워크 데이터 전달 작업에 관련된 일을 하는 개체 URLSessionConfiguration shared : 기본 요청을 하기 위한 세션으로 싱글톤으로 사용 ( 맞춤 설정 불가 ) " URLSession.shared default : 가장 기본적인 통신 방법으로 shared랑 비슷하지만 맞춤 설정 가능 URLSession(configuration:. default) ephemeral : 쿠키나 캐시, 인증을 저장하지 않을 때 사용 (사파리 개인정보보호 모드) URLSession(configuration:. eph.. 2024. 2. 27.
FCM 푸시알림 사용기3 - 푸시 알림 클릭 핸들링 푸시 알림 기능의 기본적인 것들을 구현했으니 조금 더 나은 사용자 경험을 위해 푸시 알림을 클릭하면 관련 화면으로 이동할 수 있도록 구현하기로 하였다. UNUserNotificationCenterDelegate extension AppDelegate: UNUserNotificationCenterDelegate { func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { NotificationServic.. 2024. 2. 21.
FCM 푸시알림 사용기2 - 뱃지 카운팅 하기 https://bang-tori.tistory.com/73 FCM 푸시알림 사용기1 - 특정 사용자에게 푸시알림 보내기 프로젝트를 진행하면서 FCM을 이용한 푸시 알림을 구현하게 되었다. 고민했던 부분을 바탕으로 구현 내용을 정리해 참고로 프로젝트는 백엔드 개발 없이 파이어베이스의 firestore 서비스를 이용 bang-tori.tistory.com 이전 게시물에서 푸시 알림을 사용자에게 보내는 것까지 정리해 보았다. 푸시 알림을 보내는 것을 끝으로 할 수 있지만 알림 중요도 강조 사용자에게 관심 유도 등과 같은 이유로 조금 더 나은 사용자 경험을 제공하기 위해 받은 알림 수만큼 뱃지를 표시하기로 결정하였다. 푸시 알림의 뱃지 카운팅을 하기 위해서는 서버에서 카운팅을 계산하고 프론트에서는 전달받은 숫자.. 2024. 2. 21.