Realm은 다른 DB 사용에 비해 코드가 단순해서 좋습니다.
Realm을 사용해서 DB에 저장되어 있는 데이터를 불러오는 방법, 오름차순과 내림차순으로 데이터를 sort하는 방법에 대해서 알아보겠습니다. (Realm을 사용하려면 먼저 podfile을 받아서 설치하고 import해주어야 합니다.)
1. Realm으로 데이터 불러오기(Read)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import RealmSwift
//...
class ViewController: UIViewController {
let realm = try! Realm()
var newRealmData: Results<NewRealmData>?
//...
func loadRealmData() {
newRealmData = realm.objects(NewRealmData.self)
}
}
|
cs |
데이터를 Read하는 부분이 loadRealmData() 부분인데요,
이렇게 데이터를 불러오면 NewRealmData라는 이름으로 제가 만들어준 Realm DB 저장소에 저장된 데이터들을 저장된 순서에 따라 모두 불러오게 됩니다.
API POST method와 비교해봤을 때 코드가 상당히 간결하죠?
2. 데이터 sort하여 불러오기
2.1. 오름차순
Realm DB에 저장된 데이터를 특정 key값에 따라 오름차순으로 정렬하고 싶다면 어떻게 할 수 있을까요?
바로 .sorted(byKeyPath:, ascending:)을 사용해주면 됩니다.
아래 예시에서는 "name"이라는 key값으로 오름차순 정렬해보았습니다.
원하는 key값을 string 형태로 byKeyPath 에 넣어주기만 하면 됩니다. ascending(오름차순)은 true로 해주시구요.
|
1
2
3
4
5
6
|
func loadRealmData() {
//byKeyPath에는 정렬이 필요한 데이터의 key를 string 형태로 넣어주면 됩니다.
newRealmData = realm.objects(NewRealmData.self).sorted(byKeyPath: "name", ascending: true)
}
|
cs |
2.2. 내림차순
그렇다면 특정 key값에 따라 내림차순으로 정렬하고 싶다면 어떻게 하면 될까요?
다른 sort 방법이 있는 줄 알고 구글링을 했는데, 등잔 밑이 어둡다더니 오름차순 정렬 방식 안에 답이 있었습니다.
바로 ascending:을 true가 아닌 false로 지정해주면 되었습니다. 🥳
|
1
2
3
4
5
6
|
func loadRealmData() {
//byKeyPath에는 정렬이 필요한 데이터의 key를 string 형태로 넣어주면 됩니다.
newRealmData = realm.objects(NewRealmData.self).sorted(byKeyPath: "name", ascending: false)
}
|
cs |
'Swfit' 카테고리의 다른 글
| Computed property - get, set 알아보기! (0) | 2022.09.30 |
|---|---|
| [Realm] 데이터 저장하는 방법(Create) (0) | 2022.04.08 |
| Swift JSON Parsing하기 (2) | 2022.03.21 |
| 팀 프로젝트-헤리티지(문화 공유 웹/앱 플랫폼) (0) | 2022.03.21 |
| TableViewCell 만드는 방법 정리-등록(Register)하기 (0) | 2022.03.18 |