iOS Cache
·
iOS/UIKit
캐시캐시란 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 저장소이다.갑자기 iOS에서 이 개념이 왜 나올까 ??  부스트 캠프 과정 중 앱 개발을 할 때 항상 비용을 고려해야한다. 비용은 크게 2가지로 나눠진다비용 Money전원 Power전원 Power는 말 그대로 우리 서비스를 이용할 때 배터리 소모량이 된다. 비용 Money은 우리 서비스를 이용하면서 유저가 지불해야하는 금액적인 비용이다. 금액적인 비용은 우리 서비스내의 제품을 구매할 때도 역시 필요하지만앱이 네트워크가 필요하여 인터넷 비용도 있다.  우리가 컨트롤 할 수 있는 것은 바로 인터넷 비용이다.우리는 유저의 인터넷비용을 최대한 기술적으로 절감시켜 유저 이탈 수를 막야한다. 대표적인 예로 바로 캐시 데이터를 통해 불필요한 네트워크 통..
NSKeyedArchiver
·
iOS/UIKit
NSKeyedArchiver 오브젝트의 데이터를 key로 참조해서 기록하는 encoder다.  NSKeyedUnarchiverkey로 참조해서 오브젝트의 데이터를  복원하는 decoder다.UserDefaults와 차이점나는 지금까지 데이터를 저장할 때 UserDefaults를 이용했지만 이 아카이버의 역할은 무엇일까?? NSKeyedArchiverUserDefaults저장 방식Key - Value데이터 타입 매핑 여부O상위 하위 관계 매핑 여부OX 공통점이 많은 인터페이스 가지만 큰 차이점이 존재한다.바로 상속과 같은 복잡한 데이터의 관계를 같이 저장하는데 차이가 있다. 흠.. 상하 관계가 있다는 것은 상속을 쓴다는 것이고 NSKeyedArchiver는 클래스를 저장할 때 많이 쓰이는군.. 으로 예상된..
NSCoding , NSSecureCoding
·
iOS/UIKit
정의A protocol that enables an object to be encoded and decoded for archiving and distribution. 아카이빙과 배포를 위해 객체가 encoding과 decoding을 가능케 도와주는 프로토콜이다. 조금 더 자세히 설명하면 NSCoding은 Objective-C 기반의 클래스를 직렬화 및 역직렬화를 하는 역할을한다. 인코딩이란?Swift의 데이터를 컴퓨터가 이해할 수 있는 0과1로 코드화, 암호화 등을 하는 과정이고보안, 저장 공간 절약등의 효과를 볼 수 있다. 디코딩이란?디코딩은 인코딩의 정확한 반대 과정으로 복호화, 역코드화가 진행되며  컴퓨터가 이해할 수 있는 정보를 우리가 사용하는 Swift 데이터로 바꾸는 과정이다. 구성publi..
NSObject
·
iOS/UIKit
정의The root class of most Objective-C class hierarchies, from which subclasses inherit a basic interface to the runtime system and the ability to behave as Objective-C objects.NSObject는 Objective-C 및 Swift 프로그래밍 언어의 기본 클래스이며  대부분의 다른 클래스의 루트 클래스 역할을 한다. 기능많은 기능들이 있지만 대표적인 4가지 기능만 살펴보자.  1. 객체 초기화NSObject클래스는 다른 모든 클래스에서 상속되는 기본 초기화 메서드인 init을 제공한다. 2. 메모리 관리NSObject클래스는 객체에 할당된 메모리 관리를 하는 메서드를 제공..
UIGestureRecognizer
·
iOS/UIKit
UIGestureRecognizer1. 역할Gesture Recognizer는 터치 이벤트를 감지하고 이를 특정 제스처(탭, 핀치, 드래그, 스와이프)로 인식한 후,제스처가 인식되면 해당 동작에 연결된 액션을 호출하는 역할을한다.  2. 동작원리 일반적인 터치 이벤트는 이전에 배운 responder chian을 따라가지만 gesture recognizer는  UIKit에서 제공하는별도의 처리 흐름을 이용한다. 터치가 발생하면 UIApplication객체에서  UIWindow 객체로 tocuh 객체가 전달된다.UIWindow는 뷰 계층 구조에서 가장 적합한 뷰에 터치 이벤트를 전달 시도이 때 뷰에 연결된 모든 gesture recognizer들은 touch 이벤트를 인식할 수 있는 첫번 째 기회를 얻는다...
frame vs bounds (4) [ 사용 용도 ]
·
iOS/UIKit
이번 학습은 frame과 bounds의 마지막시간인 도대체 언제 쓰면되는지 를 학습해보자. frame 앞의 학습 내용으로 정리하면 frame의 origin(위치)는 superview 좌표계를 기준으로 한 view의 원점이고 size(크기)는 view 영역을 모두 감싸는 사각형의 크기이다. 그렇다면 이런 성질들은 어디에 쓰일까 ?? View의 위치와 크기를 설정할 때 사용한다. 단순히 View를 생성하는데 사용된다.  let myView: UIView = .init(frame: ...)  bounds앞의 학습 내용으로 정리하면 bounds의 origin(위치)는 자신의 좌표계를 나타내며size(크기)는 View 영역 자체의 size이다. 오직 자신에게만 집중할 수 있어 사용되는 곳이 frame보다는 다양한..