๋ ์ด๋?
์์ฃผ ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ฐ์ผ ์ฉ ์คํ์์ค ๊ฐ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค
์ฌ์ฉ๋ฒ์ ์ฐ์ pod์ 'ReamSwift'๋ฅผ ์ถ๊ฐํด์ค๋๋ค.
ํฐ๋ฏธ๋๋ก ๊ฐ์ pod install์ ํด์ค ๋ค
๋ค์ Xcode๋ก ์์ 'import RealmSwift'๋ฅผ ํด์ค ๋ค ์ํ๋ ๋ชจ๋ธ์ ๋ง๋ค์ด์ค๋๋ค. ์ ๋ UserInfo๋ผ๊ณ ์ด๋ฆ ์ง๊ณ (๋ฐ๋์ ์์ Object๋ก ๋ช ์ํด์ผ ํฉ๋๋ค.)
์ด๋ฆ๊ณผ ๋์ด ์ฑ๋ณ์ ์ด๊ธฐ๊ฐ์ผ๋ก ์ ์ธํด์ฃผ๊ฒ ์ต๋๋ค.
1
2
3
4
5
6
7
8
|
import Foundation
import RealmSwift
class UserInfo:Object {
@objc dynamic var name = ""
@objc dynamic var age = 0
@objc dynamic var gender = ""
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ๋ทฐ์ปจํธ๋กค๋ฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก import RealmSwift๋ฅผ ํด์ค ๋ค ๋ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ ์ธํฌ๋ฅผ ๋ง๋ค์ด ์ค ๋ฉ์๋๋ก makeUserInfo๋ฅผ ๋ง๋ค์ด์ค๋๋ค.
1
2
3
4
5
6
7
8
9
|
func makeUserInfo(_ name:String,_ age:Int,_ gender:String) -> UserInfo {
let userinfo = UserInfo()
userinfo.name = name
userinfo.age = age
userinfo.gender = gender
return userinfo
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
์ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ์์ ์ด ์ํ๋ ์ ์ ์ธํฌ๊ฐ ๋ด๊ธด ๋ ํผ๋ฐ์ค๋ฅผ ๋ง๋ค์ด์ฃผ๊ณ
๋ ์ธ์คํด์ค์ ์ถ๊ฐ ํด์ค๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
|
@IBAction func save(_ sender: Any) {
let ๋น์ง๋
ธ = self.makeUserInfo("Beenzino",34,"๋จ")
let ๋ํ๋ผ = self.makeUserInfo("Nafla", 29,"๋จ")
let ์ค๋ฏธ๋ = self.makeUserInfo("Tasha",40,"์ฌ")
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
๋ ๋ฒ์งธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๋ฐฉ๋ฒ์ ๋ ์ธ์คํด์ค์ ์๋ ์ค๋ธ์ ํธ๋ค ์ค ์ ์ ์ธํฌ๋ก ๋ ๊ฒ๋ค์ ๊ฐ์ ธ์ต๋๋ค.
1
2
3
4
5
6
7
8
|
@IBAction func read(_ sender: Any) {
let rappers = realmInstance.objects(UserInfo.self)
var rappersname = String()
rappersname += "\(rappers[i].name)\n"
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
๊ทธ ๋ค์ ์ ๋ฐ์ดํธ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์NSPredicate๋ฅผ ์ด์ฉํด ํ ์คํธํ๋์ ์ ํ ์ด๋ฆ์ ์ฐพ์์ ํด๋นํ๋ ๊ฐ์ฒด์ ๋ด์ฉ์ ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ ๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
@IBAction func update(_ sender: Any) {
if let userinfo = realmInstance.objects(UserInfo.self).filter(NSPredicate(format: "name = %@", textfield.text ?? "No Rapper")).first {
}
}else{
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
๋ง์ง๋ง์ผ๋ก ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ง์ฐฌ๊ฐ์ง๋ก NSPredicate๋ฅผ ์ด์ฉํด ํ ์คํธํ๋์ ์ ํ ์ด๋ฆ์ ๋ ์ธ์คํด์ค์ ์ค๋ธ์ ํธ์์ ํด๋น ์ ์ ์ธํฌ๋ฅผ ์ญ์ ์์ผ์ค๋๋ค.
1
2
3
4
5
6
7
8
9
10
|
@IBAction func deletedata(_ sender: Any) {
if let userinfo = realmInstance.objects(UserInfo.self).filter(NSPredicate(format: "name = %@", textfield.text ?? "No Rapper")).first {
realmInstance.delete(userinfo)
}
}else{
print("์๋๋ฐ์??")
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
์๋๋ ๊ฐ ๊ฐ ์ ์ฅ,์ ๋ฐ์ดํธ,์ฝ๊ธฐ,์ญ์ ๋ฅผ ์คํํ ํ๋ฉด์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก ์๋์ ๊ฐ์ด fileURL์ ์์๋ธ ๋ค
1
|
print(Realm.Configuration.defaultConfiguration.fileURL)
|
ํด๋น ์ฃผ์๋ก ์ด๋ํ๋ฉด
์๋์ ๊ฐ์ด ๋ ํ์ผ์ด ์๋๋ฐ ํด๋ฆญํด์ฃผ๋ฉด
๋ฐฉ๊ธ ์ ์ฅํ ๋ฐ์ดํฐ๋ค์ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค!!!
์ค๋์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์๋ณด์๋๋ฐ ํน์๋ผ๋ ํ๋ฆฐ ์ ์ด ์๊ฑฐ๋ ๊ถ๊ธํ์ ์ฌํญ์ ์ธ์ ๋ ๋๊ธ ๋ฌ์์ฃผ์ธ์~
์ ์ฒด์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
import UIKit
import RealmSwift
class TabbarViewController1: UIViewController,UITextFieldDelegate {
let realmInstance = try! Realm()
@IBOutlet weak var textfield: UITextField!
@IBOutlet weak var delete: UIButton!
@IBOutlet weak var read: UIButton!
@IBOutlet weak var update: UIButton!
@IBOutlet weak var save: UIButton!
@IBOutlet weak var stack: UIStackView!
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
print(Realm.Configuration.defaultConfiguration.fileURL)
}
func makeUserInfo(_ name:String,_ age:Int,_ gender:String) -> UserInfo {
let userinfo = UserInfo()
userinfo.name = name
userinfo.age = age
userinfo.gender = gender
return userinfo
}
@IBAction func save(_ sender: Any) {
let ๋น์ง๋
ธ = self.makeUserInfo("Beenzino",34,"๋จ")
let ๋ํ๋ผ = self.makeUserInfo("Nafla", 29,"๋จ")
let ์ค๋ฏธ๋ = self.makeUserInfo("Tasha",40,"์ฌ")
}
}
@IBAction func update(_ sender: Any) {
if let userinfo = realmInstance.objects(UserInfo.self).filter(NSPredicate(format: "name = %@", textfield.text ?? "No Rapper")).first {
}
}else{
}
}
@IBAction func read(_ sender: Any) {
let rappers = realmInstance.objects(UserInfo.self)
var rappersname = String()
rappersname += "\(rappers[i].name)\n"
}
}
@IBAction func deletedata(_ sender: Any) {
if let userinfo = realmInstance.objects(UserInfo.self).filter(NSPredicate(format: "name = %@", textfield.text ?? "No Rapper")).first {
realmInstance.delete(userinfo)
}
}else{
print("์๋๋ฐ์??")
}
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
๋๊ธ