ios
-
Error Handlingios 2022. 3. 13. 17:43
안녕하세요. 오늘은 에러 처리 방법에 대해서 이야기를 해보려고 합니다. 프로젝트를 진행하며 에러 처리 방법에 대해서도 중요하다는 생각이 들었고 지금 시간에 한번 정리하는게 좋을거 같다는 생각을 하게 되어 글을 작성해봅니다. 에러 처리란? 프로그램 실행시 에러가 발생하면 그 상황에 대해 적절한 처리가 필요 이 과정을 에러 처리라고 부른다. 에러발생 시점 컴파일 에러 런타임 에러 에러처리가 필요한 이유 특정 명령 실행을 완전히 실행되는 것이 완전히 보장되지 않을 경우가 있다. 이러한 경우 옵셔널을 사용하여 요청한 값이 없다는 값을 표시할 수는 있지만 어떠한 종류의 오류인지 확인할 수 없다. 이로써 현재 어떠한 오류가 발생했는지 , 그에대한 처리를 어떻게 할 것인지에 대해 처리를 하기 위해서 필요하다고 생각한..
-
MVP 패턴에 대하여ios 2022. 2. 21. 00:53
MVC 패턴에 대한 실증 Apple에서 기본적으로 제공하는 패턴인 MVC 디자인패턴은 입문자 또는 규모가 크지 않은 프로젝트에서 주로 사용되는 디자인패턴이라고 생각합니다. 저 또한 회사에서 혼자 개발을 해야하고 규모가 크지 않은 프로젝트를 수행할 때 사용해왔습니다. 그러나 완성된 Product를 보고 나니 장점보다 단점이 더 부각되어 보였습니다. 단점들은 Massive ViewController , 빈번한 Side Effect , 현저히 떨어지는 코드의 가독성 , 유지보수의 어려움이 있었습니다. 이러한 단점들을 보완하고자 새로운 디자인 아키텍처를 찾는 도중 MVP 패턴을 찾았으며 이제부터 이에 대해 이야기를 해보려고 합니다. MVC 문제점 책임 분배의 부족 컨트롤러에서 작업 사용자 인터랙션 핸들링 , v..
-
custom font 적용ios 2021. 10. 25. 23:19
안녕하세요. 오늘은 프로젝트에 custom 폰트를 적용하는 것을 알아보려고 합니다. 우선 간단한 순서부터 설명드리겠습니다. 1. 폰트를 다운받습니다. 2. 프로젝트에 다운받은 폰트를 추가합니다. 3. 프로젝트 Target의 Build Phases의 Copy Bundle Resource에 해당 폰트가 추가 되었는지 확인을 해줍니다. 3.1 Copy Bundle Resource에서 추가한 폰트를 찾지 못한다면 좌측 하단에 + 버튼을 클릭하여 Add Other을 클릭하여 추가합니다. 4. 스토리보드나 xib로 코드를 작성하신다면 Attribute Inspecter에서 Font 속성을 Custom으로 변경하고 Family drop box에서 다운로드한 폰트로 설정해줍니다. 5. code로 UI를 작성하실 경우에..
-
로컬 푸시 알림 기능 구현 (Local Notification)ios 2020. 12. 17. 16:22
Questions before studying 푸시 알림을 서버에서 보내는 것 말고 로컬에서도 할 수 있는지 가능 하다면 , 앱이 suspended나 background에서도 가능 하는지 Answer For Questions If the delivery of the notification occurs when your app is not running or in the background, the system interacts with the user for you. If your app is in the foreground, the system delivers the notification to your app for handling → 앱이 백그라운드나 포그라운드가 아닐 경우에도 노티피케이션이 오는 ..
-
ARC: Resolving Strong Reference Cycles Between Class Instancesios 2020. 9. 7. 23:41
들어가며 이 전 글은 ARC에 대해서 알아보았습니다. 오늘은 Strong Reference로 인한 Retain Cycle을 어떻게 해결하면 좋을지에 대해서 알아보도록 하겠습니다. Resolving Strong Reference Cycles Between Class Instances Swift provides two ways to resolve strong reference cycles when you work with properties of class type: weak references and unowned references. Weak and unowned references enable one instance in a reference cycle to refer to the other insta..
-
ARCios 2020. 9. 6. 23:05
들어가며 아이폰 앱 개발을 하다 보면 , 분명 ViewDidDisappear가 되었는데도 deInit 이 콜이 안되는 경우가 저에겐 빈번히 일어 났습니다. 대충 문제를 짐작하여 해결하려고 하였지만, 막상 문제를 찾으려고 할 때는 문제점을 명확히 잘 찾지 못 했습니다. 그 이유는 제 자신이 ARC의 개념에 미흡하게 알고 있어서 그런 것 같습니다. 이러한 문제 점을 고치기 위해 글을 쓰게 되었습니다. ARC란 무엇일까? Swift uses Automatic Reference Counting (ARC) to track and manage your app’s memory usage. In most cases, this means that memory management “just works” in Swift, ..
-
네트워크 통신 모듈화 with Alamofireios 2020. 7. 21. 19:15
들어가며 회사에서 앱을 개발하던 중, 네트워크 통신을 하는 로직이 항상 마음에 들지 않았습니다. 분명 같은 구조이고 요청할 때 들어가는 전달 변수만 달라지는데 왜 나는 왜 똑같은 코드를 반복하고 있는지 하고 있는 제 자신도 비참해 보였습니다. 그러던 중, 선배 개발자가 " Network Request 하는 건 하나만 만들고 바뀔 값만 전달 변수로 전달해라 " 이렇게 조언을 해주셨습니다. 선배의 말을 듣고 코드를 바꾸고 있는 찰나 좋은 정보는 함께 공유하면 좋을거 같아서 이렇게 글을 쓰기 시작했습니다. 본론 Problem -> RestApi Call With Overlapped Same Code diffrent Paraemters 잘못된 점 App에서 Rest Api를 요청하면 이런 구조, 형식으로 같은 ..
-
APNs 사용법ios 2020. 7. 20. 17:29
APNs란 Apple Push Notification service (commonly referred to as Apple Notification Service or APNs) is a platform notification service created by Apple Inc. that enables third party application developers to send notification data to applications installed on Apple devices. The notification information sent can include badges, sounds, newsstand updates, or custom text alerts. 애플 푸시 노티피케이션 서비스는 애플..