[도입편] Swift Realm
입문
Android에서 Realm을 사용해 봤지만 최근 Swift로 앱을 만들고 Relam을 사용하기로 결정해서 많이 해보고 싶어요.
이번에는 Realm의 가져오기에서 간단한 데이터의 추가·업데이트로 바꾸고 싶습니다.
환경
배치
CocoaPods 설치
CocoaPods가 설치되어 있지 않은 경우 다음을 참조하여 배포
1.gem 설치
sudo gem install cocoapods
2. 터미널 재부팅 및 버전 확인
pod --version
1.0.1
3.setuppod setup
Setting up CocoaPods master repo
$ /usr/bin/git pull --ff-only
From https://github.com/CocoaPods/Specs
d6fd82b..495e021 master -> origin/master
Updating d6fd82b..495e021
Fast-forward
Specs/MXTouchID/1.0.1/MXTouchID.podspec.json | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 Specs/MXTouchID/1.0.1/MXTouchID.podspec.json
Setup completed
CocoaPods에 Realm 설치
1. Realm을 사용하려는 항목으로 이동cd <project root directory>
ls -la
total 0
drwxr-xr-x 5 kazuhiro staff 170 7 9 16:25 .
drwxr-xr-x 6 kazuhiro staff 204 7 9 16:25 ..
drwxr-xr-x 12 kazuhiro staff 408 7 9 17:15 .git
drwxr-xr-x 7 kazuhiro staff 238 7 9 16:25 RealmSample
drwxr-xr-x 5 kazuhiro staff 170 7 9 16:25 RealmSample.xcodeproj
2. CocoaPods를 초기화하고 PodFile을 생성합니다.pod init
3. Podfile 편집
블록을 사용하면 모든 대상에 설치된pod를 전환할 수 있습니다.
필요에 따라 기술하십시오.vi Profile
<ブロックを利用しない場合>
target '<Project name>'
pod 'Realm'
<ブロックを利用する場合>
target '<Project name>', exclusive: true do
pod 'Realm'
end
target '<TestProject name>', exclusive: true do
pod 'Realm/Headers'
end
4. 설치pod install
Analyzing dependencies
Downloading dependencies
Using Realm (1.0.1)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
5. 생성된 작업공간을 클릭하여 시작
6. Linked Frameworks 및 라이브러리에 다음 라이브러리 추가
sudo gem install cocoapods
pod --version
1.0.1
pod setup
Setting up CocoaPods master repo
$ /usr/bin/git pull --ff-only
From https://github.com/CocoaPods/Specs
d6fd82b..495e021 master -> origin/master
Updating d6fd82b..495e021
Fast-forward
Specs/MXTouchID/1.0.1/MXTouchID.podspec.json | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 Specs/MXTouchID/1.0.1/MXTouchID.podspec.json
Setup completed
cd <project root directory>
ls -la
total 0
drwxr-xr-x 5 kazuhiro staff 170 7 9 16:25 .
drwxr-xr-x 6 kazuhiro staff 204 7 9 16:25 ..
drwxr-xr-x 12 kazuhiro staff 408 7 9 17:15 .git
drwxr-xr-x 7 kazuhiro staff 238 7 9 16:25 RealmSample
drwxr-xr-x 5 kazuhiro staff 170 7 9 16:25 RealmSample.xcodeproj
pod init
vi Profile
<ブロックを利用しない場合>
target '<Project name>'
pod 'Realm'
<ブロックを利用する場合>
target '<Project name>', exclusive: true do
pod 'Realm'
end
target '<TestProject name>', exclusive: true do
pod 'Realm/Headers'
end
pod install
Analyzing dependencies
Downloading dependencies
Using Realm (1.0.1)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
라이브러리를 선택하고dd 단추를 사용하여 추가
Realm Xcode Prugin 도입
Xcode 플러그인을 사용하면 Realm 모형 파일을 쉽게 만들 수 있으므로 먼저 가져옵니다.
Alcatraz
Alcatraz를 가져오지 않으면 를 추가합니다.
설치 후 xCode를 다시 시작하면 윈도우>PackageManager 추가curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh
Xcode를 시작하고 시작할 때 Bundles 로드를 선택합니다.
플러그인 도입
1. window>Package Manager>Realm 입력
ReamlBrowser
Realm Browser는 realm 파일을 탐색하고 편집하는 데 사용되는 Mac 응용 프로그램입니다.
RealmPlugin
파일에서 Realm 파일을 만드는 데 사용되는 플러그인입니다.
File>New>에서 Realm 선택
Relam 사용
이번에는 간단한 데이터 추가, 삭제 등을 시도하고 싶습니다.
1. 먼저 구조를 만듭니다
이번에 우리는 간단한 사용자 정보를 관리하는 모델을 만들 것이다.
RealmSwift.swiftimport Foundation
import RealmSwift
class RealmUser: Object {
dynamic var id : Int = 0;
dynamic var nickname = "";
dynamic var age: Int = 0;
}
2. 실제 데이터 추가
ViewController.swiftimport UIKit
import RealmSwift
class ViewController: UIViewController {
let realmDB = RealmUser()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func realmConnect() {
realmDB.id = 1;
realmDB.age = 26;
realmDB.nickname = "kazuhiro";
self.save();
self.find();
}
/**
保存処理
*/
func save() {
do {
let realm = try Realm()
try realm.write {
realm.add(self.realmDB)
}
} catch {
}
}
func find() {
let realm = try! Realm()
let dataContent = realm.objects(RealmUser)
print(dataContent)
}
func dataUpdate() {
do {
let realm = try! Realm()
let data = realm.objects(RealmUser).last!
try realm.write {
data.nickname = "hirokazu"
}
} catch {
}
}
func deleate() {
do {
let realm = try! Realm()
let data = realm.objects(RealmUser).last!
try realm.write {
realm.delete(data)
}
} catch {
}
}
}
참고 자료
https://realm.io/jp/docs/swift/latest/
http://qiita.com/See_Ku/items/6211690df3c56255fde4
Reference
이 문제에 관하여([도입편] Swift Realm), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kazuhiro1128/items/332770987e20a8248bc3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh
이번에는 간단한 데이터 추가, 삭제 등을 시도하고 싶습니다.
1. 먼저 구조를 만듭니다
이번에 우리는 간단한 사용자 정보를 관리하는 모델을 만들 것이다.
RealmSwift.swift
import Foundation
import RealmSwift
class RealmUser: Object {
dynamic var id : Int = 0;
dynamic var nickname = "";
dynamic var age: Int = 0;
}
2. 실제 데이터 추가ViewController.swift
import UIKit
import RealmSwift
class ViewController: UIViewController {
let realmDB = RealmUser()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func realmConnect() {
realmDB.id = 1;
realmDB.age = 26;
realmDB.nickname = "kazuhiro";
self.save();
self.find();
}
/**
保存処理
*/
func save() {
do {
let realm = try Realm()
try realm.write {
realm.add(self.realmDB)
}
} catch {
}
}
func find() {
let realm = try! Realm()
let dataContent = realm.objects(RealmUser)
print(dataContent)
}
func dataUpdate() {
do {
let realm = try! Realm()
let data = realm.objects(RealmUser).last!
try realm.write {
data.nickname = "hirokazu"
}
} catch {
}
}
func deleate() {
do {
let realm = try! Realm()
let data = realm.objects(RealmUser).last!
try realm.write {
realm.delete(data)
}
} catch {
}
}
}
참고 자료
https://realm.io/jp/docs/swift/latest/
http://qiita.com/See_Ku/items/6211690df3c56255fde4
Reference
이 문제에 관하여([도입편] Swift Realm), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kazuhiro1128/items/332770987e20a8248bc3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([도입편] Swift Realm), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kazuhiro1128/items/332770987e20a8248bc3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)