7. NHN NEXT Eunjoo Im
빠른 속도(2)
: Zero-copy
▪ 기존 ORM은 Copy가 필요
▪ Realm은 Copy가 불필요
▪ memory mapped file 사용
▪ In-memory 처럼 disk 사용
▪ 읽을 데이터의 offset 계산
▪ mapped file에서 읽어옴
▪ property에 access해서 원본값을 반환
▪ Results 자동 업데이트
출처: Let’Swift 2016 Realm.io 세션
8. NHN NEXT Eunjoo Im
쉬운 사용(1)
: 간결한 코드
▪ RLMObject를 상속하여 모델 정의
▪ 속성은 property로 사용하여 정의
▪ 관계와 자료구조는 타겟 타입의 속성이나 RLMArray의 객체
리스트를 포함하여 간단하게 정의
출처: https://realm.io/kr/
13. NHN NEXT Eunjoo Im
풍부한 기능
(2)
: notification
출처: https://realm.io/kr/
▪ addNotificationBlock 메서드를 호출해서 RLMRealm,
RLMResults, RLMArray, RLMLinkingObjects가 업데이
트될 때마다 통지를 받도록 등록
▪ 단일 RLMObject의 변화를 감지하기 위해 Key-Value
Observation을 사용 가능
▪ Realm 객체는 쓰기 트랜잭션 커밋시마다 알림을 보내줌
17. NHN NEXT Eunjoo Im
실습(1)
: Realm 설정
▪ CocoaPods 이용
▪ Podfile에 pod ‘Realm’을 앱 타겟에 추가하고 pod
‘Realm/Headers’를 테스트 타겟에 추가
▪ 커맨드라인을 통해 pod install을 실행
▪ Static Framework
▪ Realm의 최신 버전을 다운로드해서 압축 풀기
▪ ios/static/ 디렉토리에서 Realm.framework 을 선택하여
Xcode 프로젝트의 File Navigation에 넣기 (Copy items if
needed 체크)
▪ Xcode의 File Navigator에서 프로젝트 클릭 >
어플리케이션 대상 선택 > Build Phases >
Link Binary with Libraries 의 + 클릭 > libc++.tbd 를 추가