LoginSignup
3
5

More than 5 years have passed since last update.

SwiftでRealmSwift使って日記アプリ実装

Last updated at Posted at 2016-10-15

備忘録の為に *途中経過(自分用)

ViewController.swift

import UIKit

class ViewController: UIViewController {






    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.
    }


}



WriteDiary.swift

import Foundation
import UIKit
import RealmSwift

var writeDairydata:UITextView!



class WriteDiary: UIViewController, UITextViewDelegate {



    @IBOutlet weak var writeDairydata: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()

        writeDairydata.text = "ここに本文を入力してください"

        print(writeDairydata)




        // 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.
    }


    @IBAction func save(sender: AnyObject) {

        let text = self.writeDairydata.text

        print (text)


        //クラスをインスタ
        let myDog = textSaveData()

        myDog.name = text








        // デフォルトRealmを取得します
        let realm = try! Realm()

        // データを永続化するのはとても簡単です
        try! realm.write {
            realm.add(myDog)
        }

//        print("テキストに保存成功: \(myDog.name)")


        }
    }





// 通常のSwiftのクラスと同じように定義します
class textSaveData: Object {

     dynamic var name = ""


}



DiaryData.swift

import Foundation

import UIKit
import RealmSwift

var pullData:UITextView!

class DiaryData: UIViewController {

    @IBOutlet weak var pullData: UITextView!


    override func viewDidLoad() {
        super.viewDidLoad()


        let realm = try! Realm()

        let texts = realm.objects(textSaveData)

        // ためしに名前を表示



        for text in texts {


             self.pullData.text = text.name

            //print("name: \(dog.name)")
        }

       // let aaaaa : String = "sasisu"

      //  self.pullData.text = aaaaa




//      self.pullData.text  = dogs


    }

//    override func pullData() -> AnyObject {
//        return dogs
//    }




    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}



詰まったところ

ストーリーボドAの「日記を保存ボタン」押忍でUITextViewからRealmSwiftに保存した文字列を

ストーリーボードBの「日記帳を見るボタン」押忍でUITextViewに表示させるところで

文字列がなかなか入らなくて詰まった

DiaryData.swift

self.pullData.text = text.name

GitHubにソースあり

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5