目次
・ realmの導入
・ データ保存方法
・ データが保存されているか確認
・ データ取得方法
realmの導入
PodfileにRealmSwiftを記載
pod install
BellezaProject.xcworkspace
これで取り込みができる。
データ保存方法
以下のように記載することでデータの保存をすることができます。
import UIKit
import FSCalendar
import RealmSwift
import FirebaseAnalytics
// FSCalendarのコードに、protocolの箇所にDatasource、Delegate、DelegateAppearanceがある
class CalenderController: UIViewController, FSCalendarDataSource, FSCalendarDelegate,FSCalendarDelegateAppearance {
override func viewDidLoad() {
super.viewDidLoad()
// ==== Realmオブジェの初期化
let realm = try! Realm()
let person = Person(name: "yoshida", gender: "Male")
print(person)
// ==== 値を入れてRealmに保存してみる
try! realm.write {
realm.add(person)
}
print(Realm.Configuration.defaultConfiguration.fileURL as Any)
let button = UIButton(frame: CGRect(x:100, y:100,width:view.frame.size.width/2, height:view.frame.size.height/2))
button.addTarget(self, action: #selector(self.tapButton(_:)), for: UIControl.Event.touchUpInside)
button.setTitle("ボタン", for: UIControl.State.normal)
var timer:Timer = Timer()
timer = Timer.scheduledTimer(timeInterval: 5.0,
target: self,
selector: #selector(self.changeView),
userInfo: nil,
repeats: false)
let calendar = try! FSCalendar()
calendar.delegate = self
calendar.dataSource = self
self.view.backgroundColor = UIColor.yellow
self.view.addSubview(button)
// Do any additional setup after loading the view.
}
@objc func tapButton(_ sender: UIButton){
// Firebase Analyticsでカスタムイベント送信
// tappedButtonというイベントを発生させる
Analytics.logEvent("tappedButton", parameters: nil)
print("ボタンがタップされました。")
}
@objc func changeView() {
print("5秒")
}
}
class Person: Object {
@objc dynamic var name: String?
@objc dynamic var gender: String?
override init(name :String, gender: String){
super.init()
self.name = name
self.gender = gender
test()
}
// testでプロパティを作成する
func test(){
print(self.name!+"|"+self.gender!)
}
}