분류 전체보기
-
Observable 혹은 Observable Sequence , Sequence와도 같은 말이다. 관찰 가능한 객체이며, 구독자가 이를 구독하여 “이벤트”를 받을 수 있다. 이벤트에는 3가지 종류가 있다. 이벤트의 전달 방향 : Observable -> Observer 이벤트의 관찰 방향 : Observable Disposable in observer(50) observer(.next(100)) observer() return Disposables.create() } 2. From 연산자를 이용한 생성 let observerble2 = Observable.from([-50, -100]) SubScribe Observable은 Observer에게 이벤트를 전달한다. 이 전달되는 시점은 observer가 o..
RxSwift (1) 주요 개념 (Observable , Subscribe, Disposable, Operator)Observable 혹은 Observable Sequence , Sequence와도 같은 말이다. 관찰 가능한 객체이며, 구독자가 이를 구독하여 “이벤트”를 받을 수 있다. 이벤트에는 3가지 종류가 있다. 이벤트의 전달 방향 : Observable -> Observer 이벤트의 관찰 방향 : Observable Disposable in observer(50) observer(.next(100)) observer() return Disposables.create() } 2. From 연산자를 이용한 생성 let observerble2 = Observable.from([-50, -100]) SubScribe Observable은 Observer에게 이벤트를 전달한다. 이 전달되는 시점은 observer가 o..
2023.05.17 -
회사앱에 접속시 통신사이름을 서버로 넘겨주고 있었는데, iOS 16.4.1 버전부터 통신사 이름을 리턴해주는 CTCarrier 클래스가 Deprecated되었다. (사실 16부터지만 16.4.1부터 Deprecated가 적용되었다) 애플 포럼을 통해 확인하니, 보안상의 문제로 통신사 정보를 get 할만한 대체 클래스 없이!!! Deprecated 한다고 답변이 있었다. 따라서 통신사 이름을 얻는건 포기하고, 접속한 아이폰이 개통된 휴대폰이 맞는지를 확인하기로 했다. (보안상의 이유) # 해결 방법은 단말기 기지국 사이의 무선접속(RadioAccessTechnology)을 확인하여 공기계인지, 유효한 Usim인지 체크하기로 했다. # ServiceCurrentRadioAccessTechnology의 종류 ..
(iOS) 통신사 정보 CTCarrier Deprecated 이슈 iOS 16.4.1~회사앱에 접속시 통신사이름을 서버로 넘겨주고 있었는데, iOS 16.4.1 버전부터 통신사 이름을 리턴해주는 CTCarrier 클래스가 Deprecated되었다. (사실 16부터지만 16.4.1부터 Deprecated가 적용되었다) 애플 포럼을 통해 확인하니, 보안상의 문제로 통신사 정보를 get 할만한 대체 클래스 없이!!! Deprecated 한다고 답변이 있었다. 따라서 통신사 이름을 얻는건 포기하고, 접속한 아이폰이 개통된 휴대폰이 맞는지를 확인하기로 했다. (보안상의 이유) # 해결 방법은 단말기 기지국 사이의 무선접속(RadioAccessTechnology)을 확인하여 공기계인지, 유효한 Usim인지 체크하기로 했다. # ServiceCurrentRadioAccessTechnology의 종류 ..
2023.05.10 -
2023. 4. 25. 문제 Custom TabBar와 NavigationBar 를 만들일이 생겼는데 VC와 닿는부분에 자꾸 Border? Shadow? 같은 줄이 하나 생긴다. Hierarchy를 보니 최상위 계층에 까만 ImageView가 뜬다. 그래서 구글링을 좀 해보니 UINavigationBarAppearance 객체의 backgroundImage 프로퍼티와 shadowImage프로퍼티에 빈 이미지를 넣어주면 원하는대로 색을 변경할 수 있다는 글을 보았다. if #available(iOS 13.0, *) { let appearance = UINavigationBarAppearance() appearance.backgroundImage = UIImage() appearance.shadowImage..
(iOS) UITabBar, UINavigationBar shadow 제거, border 제거2023. 4. 25. 문제 Custom TabBar와 NavigationBar 를 만들일이 생겼는데 VC와 닿는부분에 자꾸 Border? Shadow? 같은 줄이 하나 생긴다. Hierarchy를 보니 최상위 계층에 까만 ImageView가 뜬다. 그래서 구글링을 좀 해보니 UINavigationBarAppearance 객체의 backgroundImage 프로퍼티와 shadowImage프로퍼티에 빈 이미지를 넣어주면 원하는대로 색을 변경할 수 있다는 글을 보았다. if #available(iOS 13.0, *) { let appearance = UINavigationBarAppearance() appearance.backgroundImage = UIImage() appearance.shadowImage..
2023.04.25 -
PNG, JPEG등의 여러가지 Image Asset들을 생각없이 다루었는데 무슨 차이일까 갑자기 궁금해졌다. 단순히 풍경, 인물등 사진에 관한건 JPEG가 많고, 버튼이나 폰트 등의 UI 에셋들에는 PNG가 많다고만 생각하고있었다. 일단 JPG와 PNG 모두 범용적으로 많이 쓰이는 디지털 이미지 규격중 하나이다. 아 그리고 JPG == JPEG 이다. PNG 웹 환경에서 최상의 비트맵 이미지를 구현하기 위해 W3C에서 제정한 파일 포맷이다. GIF의 대안으로 개발되었으며, GIF보다 작은 용량으로도 이미지 표현이 가능하고 원본 이미지에 손상을 전혀 주지 않는 압축과 알파 채널을 지원한다. JPG(JPEG) JPEG위원회에 의해 개발되었다. 풀 컬러와 그레이 스케일의 압축을 위하여 고안되었고, 사진이나 예..
이미지 파일의 종류 (PNG , JPG, JPEG)PNG, JPEG등의 여러가지 Image Asset들을 생각없이 다루었는데 무슨 차이일까 갑자기 궁금해졌다. 단순히 풍경, 인물등 사진에 관한건 JPEG가 많고, 버튼이나 폰트 등의 UI 에셋들에는 PNG가 많다고만 생각하고있었다. 일단 JPG와 PNG 모두 범용적으로 많이 쓰이는 디지털 이미지 규격중 하나이다. 아 그리고 JPG == JPEG 이다. PNG 웹 환경에서 최상의 비트맵 이미지를 구현하기 위해 W3C에서 제정한 파일 포맷이다. GIF의 대안으로 개발되었으며, GIF보다 작은 용량으로도 이미지 표현이 가능하고 원본 이미지에 손상을 전혀 주지 않는 압축과 알파 채널을 지원한다. JPG(JPEG) JPEG위원회에 의해 개발되었다. 풀 컬러와 그레이 스케일의 압축을 위하여 고안되었고, 사진이나 예..
2022.04.18 -
개발자 문서를 읽어보면 다음의 내용이 있다. Declaration “앱의 UI와 View의 이벤트를 처리하는 객체에 대한 배경이다.” 여기까지만 읽었을때는 감이 안온다. 자세하게 말하면 UIKit의 동작 방식은 View 혼자서만 이루질수 없고, 다른 객체들과 함께 이루진다. 이때 UIWindow 도 일부 참여하게 된다. 그리고 뭔가 UIWindow가 UIView보다 상위클래스일거라는 이미지가 있었는데 반대였다 UIWindow는 UIView의 하위 클래스다. UIWindow의 시각적 역할 UIWindow의 역할은 View를 나타내는 “액자" 역할이다.(다른 뷰를 담는 컨테이너) 반드시 UIWindow가 있어야 화면에 View들을 디스플레이 할 수 있다. window가 액자라면, 내부의 그림은 rootVie..
(iOS) UIWindow 에 관하여개발자 문서를 읽어보면 다음의 내용이 있다. Declaration “앱의 UI와 View의 이벤트를 처리하는 객체에 대한 배경이다.” 여기까지만 읽었을때는 감이 안온다. 자세하게 말하면 UIKit의 동작 방식은 View 혼자서만 이루질수 없고, 다른 객체들과 함께 이루진다. 이때 UIWindow 도 일부 참여하게 된다. 그리고 뭔가 UIWindow가 UIView보다 상위클래스일거라는 이미지가 있었는데 반대였다 UIWindow는 UIView의 하위 클래스다. UIWindow의 시각적 역할 UIWindow의 역할은 View를 나타내는 “액자" 역할이다.(다른 뷰를 담는 컨테이너) 반드시 UIWindow가 있어야 화면에 View들을 디스플레이 할 수 있다. window가 액자라면, 내부의 그림은 rootVie..
2022.03.22 -
Property Property란? Class, Struct, Enum에 소속된 상수나 변수를 말한다. 프로퍼티의 종류는 크게 3가지로 분류 할 수 있다. 저장 프로퍼티(Stored Property) 연산 프로퍼티(Computed Property) 타입 프로퍼티(Type Property) 저장 프로퍼티(Stored Property) 일반적으로 쓰는 let , var 로 선언하는 인스턴스 변수, 혹은 상수를 말한다. 값을 저장할때 사용 구조체, 클래스에서만 사용가능 지연 저장 프로퍼티(Lazy stored property) 호출 되기 전에는 값을 초기화 하지 않는다. 따라서 불필요한 성능저하, 메모리 사용을 줄 일 수 있다. 클래스, 구조체에만 사용이 가능하다. 상수에는 사용할 수 없다. → 상수는 인스턴..
(Swift) 저장 프로퍼티 , 연산 프로퍼티 , 프로퍼티 옵저버 (propery observer)Property Property란? Class, Struct, Enum에 소속된 상수나 변수를 말한다. 프로퍼티의 종류는 크게 3가지로 분류 할 수 있다. 저장 프로퍼티(Stored Property) 연산 프로퍼티(Computed Property) 타입 프로퍼티(Type Property) 저장 프로퍼티(Stored Property) 일반적으로 쓰는 let , var 로 선언하는 인스턴스 변수, 혹은 상수를 말한다. 값을 저장할때 사용 구조체, 클래스에서만 사용가능 지연 저장 프로퍼티(Lazy stored property) 호출 되기 전에는 값을 초기화 하지 않는다. 따라서 불필요한 성능저하, 메모리 사용을 줄 일 수 있다. 클래스, 구조체에만 사용이 가능하다. 상수에는 사용할 수 없다. → 상수는 인스턴..
2022.03.16