본문 바로가기

분류 전체보기49

[iOS] About 예외처리(Error Handling) 로그인 화면을 구현하면서 예외처리문을 활용해 구현해보았습니다. 제가 이번에 진행한 프로젝트에선 닉네임만 받아주었기 때문에,닉네임에 대한 예외처리만 있습니다!! Representing Errors 우선 오류를 담아줄 객체를 정의했습니다.  이 때, 열거형을 사용하는 이유는열거형이 관련된 오류 조건 그룹을 모델링하는 데 적합하고, 연관된 값을 통해 오류의 특성에 대한 추가 정보를 전달할 수 있기 때문이죠!+Error 프로토콜까지! 사용해주면오류 정의는 끝입니다~ 이렇게 사용자가 닉네임을 입력한다고 가정했을 때, 1. 닉네임 길이가 짧을 때2. 닉네임 길이가 길 때3. 닉네임에 특수문자가 있을 때4. 공백란이 있을 때5. 숫자가 들어갈 때 위의 다섯가지 경우엔 로그인을 하지 못하도록 하기 위해 에러 케이스를 .. 2024. 7. 7.
[iOS] About 싱글턴 패턴 이번 글의 주인공은..!싱글턴 패턴(Singleton Pattern) 이 친구는특정 클래스의 인스턴스를 하나만 생성하여애플리케이션 전체에서 공유할 수 있도록 하는 디자인 패턴입니다.주로 애플리케이션의 전역 상태를 관리하거나, 리소스가 많이 소모되는 객체의 중복 생성을 방지하는 데 사용합니다. 우리가 프로젝트를 진행하게 되면URLSessioin.shared, UserDefaults.standard 와 같은 친구들을 심심치 않게 보게 되는데이들 역시 싱글턴 패턴을 이용한 사례입니다. 그래서 저는 싱글턴 패턴의 사용 목적에 맞게 아주 비싼 친구 DateFormmater를 위한 싱글톤 패턴을 만들어봤습니다.  final class ReuseDateformatter { static var dateFo.. 2024. 6. 29.
[iOS] About Router pattern 지난 글에서 Alamofire에 대해 설명했는데요!이번엔 Alamofire의 URLRequestConvertible 이라는 프로토콜을 사용해 라우터 패턴을 사용해보고자 합니다!! 여기서 Router Pattern 이란?생소한 단어인 듯 하지만 집에 있는 공유기가 바로 Router이기에 실생활에 대입해서 생각해보면 꽤나 간단하게 생각되실거에요집에 있는 라우터를 통해 와이파이를 사용하기도 하고 직접연결을 통해 컴퓨터를 사용할 수도 있죠??우리가 원하는 기능을 우리가 선택해서 사용할 수 있는거죠. 앱에서도 마찬가지입니다.여러 API요청이 발생하게 됐을 때, 하나의 Router에서 관리할 수 있다..! 정도로 보시면 될 것 같아요.이를 사용하기 전에 여기저기 흩어져있던 코드들을 한 데 모아 관리할 수 있겠죠? .. 2024. 6. 27.
[iOS] About Alamofire Alamofire?iOS 및 macOS 애플리케이션에서 네트워크 요청을 간편하게 처리할 수 있도록 도와주는 HTTP 네트워킹 라이브러리입니다.Apple의 기본 네트워킹 프레임워크인 URLSession을 기반으로, 더 쉽게 네트워킹 작업을 처리할 수 있도록 다양한 기능을 제공합니다.RESTful API와의 통신, 파일 업로드/다운로드, JSON 데이터 처리 등과 같은 네트워킹 작업을 간결하고 직관적으로 구현할 수 있습니다. 그렇다면 Alamofire는 어떻게 사용할지 알아보도록 하겠습니다.AF.requset() ....  형태를 기본적으로 갖고있는데요.. 요 request부분을 자세히 확인해보면 기본적으로 네트워크 통신을 하기 위해 필요한 요소들을 확인해볼 수 있습니다.  옵셔널 처리가 돼있는 요소도 있고.. 2024. 6. 23.
[iOS] About URLSession - 2 지난글에 이어 이번에도 URLSession에 대해 이야기 해보려고 합니다 (지난글 : 2024.06.12 - [Swfit] - [iOS] About URLSession - 1) [iOS] About URLSession - 1iOS 개발을 하다 보면 이 네트워크 통신은 떼려야 뗄 수 없는 것 같습니다.그저 정해진 화면만 구성하는 것을 넘어흔히 우리가 사용하는 로그인, 실시간으로 정보를 사용자에게 보여주는 등dsungc08.tistory.com  이번 글에선 escaping 클로저와 Result Type을 활용하여 지난글의 코드를 개선해보려고 합니다! 가보시죠~ 우선 escaping 클로저는 함수가 반환된 후에도 클로저가 호출될 수 있도록 보장하는 키워드입니다.클로저는 일반적으로 함수내에서 실행되지만..! .. 2024. 6. 19.
[iOS] About URLSession - 1 iOS 개발을 하다 보면 이 네트워크 통신은 떼려야 뗄 수 없는 것 같습니다.그저 정해진 화면만 구성하는 것을 넘어흔히 우리가 사용하는 로그인, 실시간으로 정보를 사용자에게 보여주는 등 다양한 작업에서 사용되기에 네트워킹은 앱 개발 생태계에서 매우 중요하다고 볼 수 있습니다. 이번 글에서는 네트워크 통신 방법인 URLSession 과 Alamofire 에 대해 비교해 비교해보고URLSession에 대한 작성법 정도 정리해 보려고 합니다!  우선 제가 생각하기에 가장 큰 차이점은  URLSession : 애플이 직접 제공하는 네이티브 APIAlamofire: 코드의 간결함과 사용 편의성을 제공하는 외부 라이브러리 인데요, 좀 더 자세히 들어가보면 URLSession의 경우객체 생성, 에러/JSON 처리가 .. 2024. 6. 12.