본문 바로가기

분류 전체보기

(18)
RxSwift, Network Error 처리하기 RxSwift에서 networking을 주로 Single객체로 처리한다. 이 때, error가 발생할 경우 single(.error(error))로 이벤트를 처리하면 해당 Stream이 종료된다. 이럴 경우 enum을 활용하여 error를 처리해보자! RxSwift, Network Error 처리하기 Rx에서 Observable은 이벤트가 Complete되거나 Error가 발생될 경우 해당 Stream이 종료된다. 그래서 networking에서 error를 그대로 onError에 담아서 보내면 해당 Observable과 연결되어 있는 Stream이 전부 종료되버린다. 이렇게 되면 다음 이벤트를 처리할 수 없으므로 아래와 같이 enum을 활용하여 networking 결과를 리턴하자. // Networkin..
UIView의 ContentMode정리 UIImageView에 Image를 넣을때 어떤 비율로 넣을지 정해야 할 때가 있다.이때 UIView.ContentMode를 이용하는데 이때 주요 이용하는 속성을 알아보자.# UIView의 ContentMode 정리기본적으로 top, bottom, left, right 등이 존재하지만 이 속성들은직관적인 속성이므로 따로 정리하지 않고scaleToFill, scaleAspectFit, scaleAspectFill 이 3가지만 정리해보자! 1. scaleToFill 콘텐츠의 비율을 변경하여 View 크기에 맞게 확장하는 옵션 2. scaleAspectFit 콘텐츠의 비율을 유지하여 View 크기에 맞게 확장하는 옵션. 남는 영역은 투명하다. 3. scaleAspectFill 콘텐츠의 비율을 유지하여 View..
RxSwift의 Subject에 대해 알아보자 RxSwift에는 다양한 Subject들이 있다.각각 어떤 요소들인지 알아보고 정리해볼 필요가 있다고 느꼈다!# RxSwift의 Subject에 대해 알아보자먼저 Subject가 뭔지 알아보자.Subject는 쉽게 말해 Observer와 Observable의 역할을 같이 할 수 있는 존재이다.Observer의 역할로써 Observable을 구독할 수 있고 Observable의 역할로써 이벤트를 발행할 수 있다..!! 현재 RxSwift에는 4가지 Subject가 있다. 1. AsyncSubject2.BehaviorSubject3.PublishSubject4.ReplaySubject 하나씩 알아보자!! 1. AsyncSubject Observable의 마지막 값만 발행하고 Observable이 Comple..
Objc와 Swift코드를 같이 사용하기. 최근 Objc로 프로그래밍된 프로젝트를 Swift로 바꿀 기회가 생겼다.Objc문법을 알지는 못하지만 어느정도 눈에 익어 Swift로 바꾸는데문제는 이 둘의 코드를 같이 Run하는것 이었다.# Objc와 Swift코드를 같이 사용하기 1. Swift에서 Objc코드 사용하기 Swift에서 Objc코드를 사용하려면 Bridging-Header가 필요하다.이는 Objc파일을 만들때 자동으로 만들어 주기도 하는데실수해서 안 만들었을 경우, 'ProjectName-Bridging-Header.h'로 만들어 주면 된다. 이제 이 파일에 Objc클래스의 Header파일 (ex. ViewController.h)를 import해주면Swift에서 사용이 가능하다 :) Build Setting에서도 이렇게 확인이 가능하다..
Mapkit이 Blank Screen 되었다. Map을 사용할 일이 있어서 Mapkit을 이용하여 개발 중쉬운 예제를 그대로 따라해도 화면이 나타나지 않는 에러를 마주쳤다... # MapKit이 Blank Screen이 되었다. 일단 개발을 하던 도중에 MapKit을 이용한 MkMapView는 아래와 같이 안나오고... 거기에 더해 아래와 같은 에러로그가 발견되었습니다....🙃 The certificate for this server is invalid. You might be connecting to a server that is pretending to be “example.com=0x8b34da0 {NSErrorFailingURLStringKey=https://example.com/test/, NSLocalizedRecoverySuggestio..
UINavigationController를 코드로 구현해보자. Navigation은 앱에 Depth가 존재하는 한 필수적인 요소입니다!Storyboard로 쉽게 구현할 수 있지만 저는 코드로 만드는 것을 좋아해서 코드로 만들어 보겠습니다 :)# UINavigationController를 코드로 구현해보자 위와 같이 간단한 Navigation을 만들어 보겠습니다! 원리만 알면 다른 요소들은 추가하면 되니까 간단하게 구현해보도록 하겠습니다. 먼저 위와 같이 2개의 ViewController를 만들어 주세요. 하나는 부모뷰 (자식으로 이동할 수 있는 버튼 등을 구현해주세요.)하나는 자식뷰 (예제에서는 부모뷰와 구분하기 위해서 하나의 UILabel를 추가했습니다.) iOS의 Navigation Control은 Stack구조로 생각하시면 됩니다. Push로 새로운 자식뷰를 ..
CocoaPods를 사용해보자. 세상엔 다양한 오픈소스 라이브러리들이 존재하죠!iOS를 개발하다보면 이런 오픈소스 라이브러리들을 사용해서프로젝트를 진행하고 싶은데... 어떻게 적용하지...?할 때, 바로 CocoaPods를 사용하시면 됩니다!!# CocoaPods를 사용해보자.먼저, CocoaPods가 무엇인지 알아봅시다. CocoaPods
View Controller에 대해 알아보자. 안녕하세요. ☁️ On the Swift의 윤태중입니다. 지난 시간에는 App의 LifeCycle에 대해 공부해보았습니다.이번 시간에는 App의 화면에 해당하는 View Controller의 LifeCycle에 대해 공부해보도록 하겠습니다 :)# View Controller LifeCycle에 대해 알아보자.여러분이 iOS App을 작동시키면 여러 화면을 보실 수가 있을텐데요. 로그인 화면, 회원가입 화면, 개인정보 설정 화면 등등... View Controller가 바로 이 화면(View)를 담당하는 객체입니다! 그리고 App을 실행하면 화면이 바뀔때가 있을 텐데 (예를 들어 로그인할 때?) 이 때 View Controller들은 주어진 LifeCycle에 따라서 화면이 전환 됩니다. (꼭 화면이 전환..