Realm대한 사용방법과 CRUD 예제를 만들어보면서 Realm에 대해 알아보겠습니다. Realm이란? 오픈소스로 모바일에 최적화된 데이터베이스 라이브러리 입니다. ORM이 아닌 데이터컨테이너 모델을 사용하고 데이터객체는 Realm에 객체로 저장됩니다. Performance 프로젝트 만들기 간단한 CRUD예제를 만들어 보면서 Realm에 대해 알아 보도록 하겠습니다. 만들화면 먼저 코코아팟에 pod ‘RealmSwift’ 추가해줍니다. Realm? Realm은 객체 컨테이너로 동작하기 때문에 Object를 생성 해야됩니다. 클래스(class)로 구성되며, @objc dynamic을 변수 앞에 적어줘야됩니다. 준비 과정 모델링의 데이터 변수 선언 Realm 변수 선언 var items: Results? /..
Magnitude, Abs의 차이점에 대해 알아 보겠습니다. Swift에서 제공하는 API중에 절대값을 리턴해주는 방법에는 2가지(Magnitude, abs)가 존재합니다. 둘다 절대값으로 변경해준다는 기능이 있지만, 차이점이 존재합니다. let integer = Int(-15) let magnitudeNum = integer.magnitude // 15 let absNum = abs(integer) // 15 magnitude는 위의 소스와같이 property 특성을 가지고 있고, UInt로 타입이 변하게 됩니다. abs는 메서드 형식이며, Int의 타입으로 리턴을 하게 됩니다. magnitude와 abs차이점 magnitude는 UInt로 변환, abs는 Int로 변환 특별하게 UInt를 필요로 하지..
서브스크립트(Subscript)에 대해 알아 보겠습니다. 서브스크립트 서브스크립트는 Class, Struct, Enum에서 콜렉션, 순열, 리스트 등의 멤버 요소에 쉽게 접근하기 위한 방법입니다. 인스턴스의 이름 뒤에 대괄호로 감싼 값을 써줌으로써 인스턴스 내부의 특정 값에 접근할 수 있습니다. 설정자(Setter)와 접근자(Getter)메서드를 구성하지 않고도 인덱스를 통해 어떤 값을 빠르게 설정하거나 가져올 수 있습니다. 예를들어 arr이라는 Array 인스턴스의 index를 통해 해당 인덱스의 값에 접근하고 싶다면 arr[index]라고 표현해서 쓴것들이 서브스크립트 입니다. Subscript Syntax subscript키워드 사용. 서브스크립트를 구현하는 코드는 각 타입의 구현부 또는 타입의 익..
쓰레드(Thread), 프로세스(Process), 컨텍스트 스위칭(Context Switching) 대해 알아 보겠습니다. 프로세스(Process)란 먼저 컴퓨터에서 프로그램을 실행시키는 작업을 상상해볼께요. 배틀그라운드를 한다고 할때 프로그램을 실행시키죠? 배틀그라운드 프로그램을 실행하는겁니다. 프로그램은 즉, 어떠한 작업을 위해 실행할 수 있는 파일을 말합니다. 그 프로그램이 실행되고 있는 상태를 프로세스(Process)라고 합니다. 즉, 프로세스는 메모리에 올라와 CPU를 할당받고 프로그램이 실행되고 있는 상태 또는 프로세스는 운영제체로 부터 자원을 할당받는 작업의 단위, 컴퓨터에서 실행중인 컴퓨터 프로그램을 의미합니다. 스레드(Thread)란 스레드란 프로세스가 할당받은 자원을 이용하는 실행의 단..
UIDevice에 대해 다뤄보도록 하겠습니다. UIDevice UIDevice 클래스에 접근하면 해당 디바이스의 정보를 알 수 있습니다. 디바이스의 정보를 가지고 어떤방향으로 개발을 해야될지 알아 보겠습니다. 디바이스 이름 / 모델 / 화면 방향 등 OS 이름 / 버전 인터페이스 형식 (phone, pad, tv 등) 배터리 정보 근접 센서 정보 멀티태스킹 지원 여부 접근 방법 let device = UIDevice.current system버전 보기 예를 들어 현재 iPhone의 버전이 11.4.2라고 했을때 11은 Major, 4는 Minor(public), 2는 Minor(non-public)와 같이 Major, Minor (public), Minor (non-public)가 존재합니다. 또, 앱 ..