質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

3回答

3614閲覧

swiftでのメモ内容の保存

summer

総合スコア11

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2015/05/22 07:35

現在メモアプリのようなものを作成しているのですが、textviewに記述したものを保存し、次にセルをタップしてもその内容が保存されているようにしたいのですがそのコードの書き方がわかりません。現在は

lang

1import UIKit 2 3class ViewController: SecondViewController1, UITableViewDelegate, UITableViewDataSource { 4 5 @IBOutlet weak var myTableView: UITableView! 6 7 let myItems: NSMutableArray = ["TEST1", "TEST2", "TEST3"] 8 9 override func viewDidLoad() { 10 super.viewDidLoad() 11 // Do any additional setup after loading the view, typically from a nib. 12 13 self.navigationItem.rightBarButtonItem = self.editButtonItem() 14 myTableView.allowsSelectionDuringEditing = true 15 16 } 17 18 override func didReceiveMemoryWarning() { 19 super.didReceiveMemoryWarning() 20 // Dispose of any resources that can be recreated. 21 } 22 23 /* 24 Cellの総数を返す 25 (実装必須) 26 */ 27 func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 28 return myItems.count 29 } 30 31 /* 32 Cellに値を設定する 33 (実装必須) 34 */ 35 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 36 37 let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell 38 39 // Cellに値を設定. 40 cell.textLabel?.text = "\(myItems[indexPath.row])" 41 42 return cell 43 } 44 45 /* 46 編集ボタンが押された際に呼び出される 47 */ 48 override func setEditing(editing: Bool, animated: Bool) { 49 super.setEditing(editing, animated: animated) 50 51 // TableViewを編集可能にする 52 myTableView.setEditing(editing, animated: true) 53 54 // 編集中のときのみaddButtonをナビゲーションバーの左に表示する 55 if editing { 56 println("編集中") 57 let addButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "addCell:") 58 self.navigationItem.setLeftBarButtonItem(addButton, animated: true) 59 } else { 60 println("通常モード") 61 self.navigationItem.setLeftBarButtonItem(nil, animated: true) 62 } 63 } 64 65 /* 66 addButtonが押された際呼び出される 67 */ 68 func addCell(sender: AnyObject) { 69 println("追加") 70 71 // myItemsに追加. 72 myItems.addObject("add Cell") 73 74 // TableViewを再読み込み. 75 myTableView.reloadData() 76 } 77 78 /* 79 Cellを挿入または削除しようとした際に呼び出される 80 */ 81 func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { 82 83 // 削除のとき. 84 if editingStyle == UITableViewCellEditingStyle.Delete { 85 println("削除") 86 87 // 指定されたセルのオブジェクトをmyItemsから削除する. 88 myItems.removeObjectAtIndex(indexPath.row) 89 90 // TableViewを再読み込み. 91 myTableView.reloadData() 92 } 93 } 94 95 /* 96 Cellが選択された際に呼び出される. 97 */ 98 func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 99 100 // 選択中のセルが何番目か. 101 println("Num: \(indexPath.row)") 102 103 // 選択中のセルのvalue. 104 println("Value: \(myItems[indexPath.row])") 105 106 // 選択中のセルを編集できるか. 107 println("Edeintg: \(tableView.editing)") 108 109 //SecondViewController1のインスタンスを作成する. 110 let vc: SecondViewController1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("second") as! SecondViewController1 111 112 vc.memo = "\(myItems[indexPath.row])" 113 114 // Viewの移動する. 115 self.navigationController?.pushViewController(vc, animated: true) 116 117 } 118 119 120 121}

lang

1import Foundation 2 3import UIKit 4 5class SecondViewController1: UIViewController,UITextViewDelegate{ 6 7 @IBOutlet weak var detailDescriptionLabel: UILabel! 8 9 @IBOutlet weak var myTextView: UITextView! 10 11 var loadText : String! 12 13 var memo: AnyObject? { 14 didSet { 15 // Update the view. 16 self.configureView() 17 18 } 19 } 20 21 func configureView() { 22 // Update the user interface for the detail item. 23 if let detail: AnyObject = self.memo { 24 if let label = self.detailDescriptionLabel { 25 label.text = detail.description 26 } 27 } 28 } 29 30 31 override func viewDidLoad() { 32 super.viewDidLoad() 33 34 self.configureView() 35 36 let userDefaults = NSUserDefaults.standardUserDefaults() 37 38 if loadText != nil { 39 // キーが"saveText"のStringをとります。 40 loadText = userDefaults.stringForKey("saveText") 41 42 // labelに表示 43 myTextView.text = loadText 44 } 45 46 } 47 48 override func didReceiveMemoryWarning() { 49 super.didReceiveMemoryWarning() 50 } 51 52 @IBAction func tapScreen(sender: AnyObject) { 53 54 self.view.endEditing(true) 55 56 } 57 58 func textViewDidChange(textView: UITextView){ 59 // NSUserDefaultsインスタンスの生成 60 let userDefaults = NSUserDefaults.standardUserDefaults() 61 62 // キー: "saveText" , 値: "<textFieldの入力値>" を格納。(idは任意) 63 userDefaults.setObject(textView.text, forKey: "saveText") 64 65 } 66 67}

このような感じで記述しています。まだ開発初めて間もないためネットにあるデータ保存に関するコードをとりあえず書いてるだけのような感じなので当然機能してくれません。自分でも調べながら勉強中ですが皆様のお力もお借りできたらと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

補足をみて。

ちゃんと読んでないんでわかりませんけど、保存するメモを配列で保存して、遷移先で配列のindexPath.row番目の値を取り出せば良さそうじゃないですか?

投稿2015/05/26 05:37

7hikolin

総合スコア124

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

summer

2015/05/26 10:18

回答ありがとうございます。 その方法だとセルを削除した時にその時点でのindexPath.row-1に全てのメモを移すコードが必要になりますかね。
summer

2015/05/26 10:41

いや、メモ内容を保存している配列からremoveObjectAtindexすればいいんですかね。
summer

2015/05/30 12:24

なんとか自力でメモ内容をそれぞれ表示させることはできるようになったのですが、メモ内容を表示させるクラスのインスタンスを作成してからの配列削除、追加が出来ないのです。以下コードと具体的に困っているところを書きます。 メインのクラス import UIKit class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var myTableView: UITableView! let myItems: NSMutableArray = ["TEST1", "TEST2", "TEST3"] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //ナビゲーションバーに編集ボタンを追加. self.navigationItem.rightBarButtonItem = self.editButtonItem() //編集状態での選択を許可. myTableView.allowsSelectionDuringEditing = true } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } /* Cellの総数を返す (実装必須) */ func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return myItems.count } /* Cellに値を設定する (実装必須) */ func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell // Cellに値を設定. cell.textLabel?.text = "\(myItems[indexPath.row])" return cell } /* 編集ボタンが押された際に呼び出される */ override func setEditing(editing: Bool, animated: Bool) { super.setEditing(editing, animated: animated) // TableViewを編集可能にする myTableView.setEditing(editing, animated: true) // 編集中のときのみaddButtonをナビゲーションバーの左に表示する if editing { println("編集中") let addButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "addCell:") self.navigationItem.setLeftBarButtonItem(addButton, animated: true) } else { println("通常モード") self.navigationItem.setLeftBarButtonItem(nil, animated: true) } } /* addButtonが押された際呼び出される */ func addCell(sender: AnyObject) { println("追加") // myItemsに追加. myItems.addObject("add Cell") let vc: SecondViewController1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("second") as! SecondViewController1 vc.savedata.addObject("add Cell") // TableViewを再読み込み. myTableView.reloadData() } /* Cellを挿入または削除しようとした際に呼び出される */ func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { // 削除のとき. if editingStyle == UITableViewCellEditingStyle.Delete { println("削除") // 指定されたセルのオブジェクトをmyItemsから削除する. myItems.removeObjectAtIndex(indexPath.row) let vc: SecondViewController1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("second") as! SecondViewController1 println("\(vc.savedata[1])") vc.savedata.removeObjectAtIndex(indexPath.row) println("\(vc.savedata[1])") // TableViewを再読み込み. myTableView.reloadData() } } /* Cellが選択された際に呼び出される. */ func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { // 選択中のセルが何番目か. println("Num: \(indexPath.row)") // 選択中のセルのvalue. println("Value: \(myItems[indexPath.row])") // 選択中のセルを編集できるか. println("Edeintg: \(tableView.editing)") //SecondViewController1のインスタンスを作成する. let vc: SecondViewController1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("second") as! SecondViewController1 //遷移先に選択したセルの名前を渡す. vc.memo = "\(myItems[indexPath.row])" vc.cellnumber = indexPath.row // Viewの移動する. self.navigationController?.pushViewController(vc, animated: true) } } メモ内容を表示させるクラス import Foundation import UIKit class SecondViewController1: UIViewController,UITextViewDelegate{ @IBOutlet weak var detailDescriptionLabel: UILabel! @IBOutlet weak var myTextView: UITextView! var memo: AnyObject? { didSet { // Update the view. self.configureView() } } var cellnumber: Int? let savedata: NSMutableArray = ["TEST1", "TEST2", "TEST3"] //ページ遷移時に最初に行う処理 func configureView() { // Update the user interface for the detail item. if let detail: AnyObject = self.memo { if let label = self.detailDescriptionLabel { label.text = detail.description /*           メモデータ復元 */ // NSUserDefaultsインスタンスの生成 let userDefaults = NSUserDefaults.standardUserDefaults() savedata[cellnumber!] = String(cellnumber!) // キーが"saveText"のStringをとります。 var loadText : String! = userDefaults.stringForKey(savedata[cellnumber!] as! String) // labelに表示 myTextView.text = loadText } } } override func viewDidLoad() { super.viewDidLoad() //ページ遷移時に最初に行う処理 self.configureView() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } //tapした時に編集状態解除 @IBAction func tapScreen(sender: AnyObject) { self.view.endEditing(true) } func textViewDidChange(textView: UITextView){ // データ保存処理 // NSUserDefaultsインスタンスの生成 let userDefaults = NSUserDefaults.standardUserDefaults() // キー: "saveText" , 値: "<textFieldの入力値>" を格納。(idは任意) userDefaults.setObject(myTextView.text, forKey: savedata[cellnumber!] as! String) } } これの import Foundation import UIKit class SecondViewController1: UIViewController,UITextViewDelegate{ @IBOutlet weak var detailDescriptionLabel: UILabel! @IBOutlet weak var myTextView: UITextView! var memo: AnyObject? { didSet { // Update the view. self.configureView() } } var cellnumber: Int? let savedata: NSMutableArray = ["TEST1", "TEST2", "TEST3"] //ページ遷移時に最初に行う処理 func configureView() { // Update the user interface for the detail item. if let detail: AnyObject = self.memo { if let label = self.detailDescriptionLabel { label.text = detail.description /*           メモデータ復元 */ // NSUserDefaultsインスタンスの生成 let userDefaults = NSUserDefaults.standardUserDefaults() savedata[cellnumber!] = String(cellnumber!) // キーが"saveText"のStringをとります。 var loadText : String! = userDefaults.stringForKey(savedata[cellnumber!] as! String) // labelに表示 myTextView.text = loadText } } } override func viewDidLoad() { super.viewDidLoad() //ページ遷移時に最初に行う処理 self.configureView() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } //tapした時に編集状態解除 @IBAction func tapScreen(sender: AnyObject) { self.view.endEditing(true) } func textViewDidChange(textView: UITextView){ // データ保存処理 // NSUserDefaultsインスタンスの生成 let userDefaults = NSUserDefaults.standardUserDefaults() // キー: "saveText" , 値: "<textFieldの入力値>" を格納。(idは任意) userDefaults.setObject(myTextView.text, forKey: savedata[cellnumber!] as! String) } } この部分で、メモ内容を保存している配列savedataから要素を削除する前後で配列の要素をprintしているのですが、常にTEST2 (removeObjectAtindexして)(テスト2、テスト3は最初から入っている要素)TEST3となってしまいます。何度削除してもこうなってしまうのです。つまりどうやら一度はTEST2が削除されているがまたすぐに生成されている?みたいなのですが。どうなっているのかわかりますでしょうか。
summer

2015/05/30 12:25

すいません。この部分毎違えました。 この部分とは let vc: SecondViewController1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("second") as! SecondViewController1 println("\(vc.savedata[1])") vc.savedata.removeObjectAtIndex(indexPath.row) println("\(vc.savedata[1])") // TableViewを再読み込み. myTableView.reloadData() このぶぶんのことです。
guest

0

遷移先にviewWillAppearを追加してそこに処理をかけば良さそうな気がします。

lang

1override func viewWillAppear() { 2 //データを読み込んで表示する処理 3}

iosでは画面が読み込まれる前、後、アニメーション描写が始める前、後、遷移する直前、直後などのイベントがあります。

viewWillAppearは画面遷移して、画面が表示される前に読み込まれるものです。

イベント駆動について
http://d.hatena.ne.jp/glass-_-onion/20120405/1333611664

投稿2015/05/26 05:29

7hikolin

総合スコア124

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

データを保存する方法として CoreData という仕組みがあります。

参考ページ:

  • iPhoneアプリ開発初心者がSwift + CoreDataでシンプルなTODOアプリをつくってみた

http://dangerous-animal141.hatenablog.com/entry/2015/03/01/141138

他のも google で "swift table coredata" で検索すると、情報がいろいろ得られます。

投稿2015/05/22 12:01

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

summer

2015/05/22 13:25

回答ありがとうございます。 CoreDataですか。勉強してみます。 ただ今回はNSUserDefaultsで実装していく方針でして、save,reroadボタンを実装すればメモ内容を復元するところまではできているのですが、ボタンで実装するのではなく、文字を入力する毎にテキストデータを保存しそれをreroadしなくても常に表示したいのです。 アドバイスをいただいて申し訳ないのですが私の方針に沿う方法はありますでしょうか。 並行してCoreDataも調べてみます。
summer

2015/05/22 13:28

あと洗濯したセル毎でデータを分けることもまだ出来ていません。こちらについてもご教授願いたいです。
summer

2015/05/22 14:21

ちなみにただ単にテキストの保存とロードだけなら以下のコードで実装できるのですが、セル毎に保存するデータは分けられていないし、ページ遷移時に表示ではなくわざわざロードボタンを押さなきゃいけないしなど課題が山積みな状態です。 import Foundation import UIKit class SecondViewController1: UIViewController,UITextViewDelegate{ @IBOutlet weak var detailDescriptionLabel: UILabel! @IBOutlet weak var myTextView: UITextView! var memo: AnyObject? { didSet { // Update the view. self.configureView() } } @IBAction func reroad(sender: AnyObject) { // データ読み込み処理 // NSUserDefaultsインスタンスの生成 let userDefaults = NSUserDefaults.standardUserDefaults() // キーが"saveText"のStringをとります。 var loadText : String! = userDefaults.stringForKey("saveText") // labelに表示 myTextView.text = loadText } @IBAction func save(sender: AnyObject) { // データ保存処理 // NSUserDefaultsインスタンスの生成 let userDefaults = NSUserDefaults.standardUserDefaults() // キー: "saveText" , 値: "<textFieldの入力値>" を格納。(idは任意) userDefaults.setObject(myTextView.text, forKey: "saveText") } func configureView() { // Update the user interface for the detail item. if let detail: AnyObject = self.memo { if let label = self.detailDescriptionLabel { label.text = detail.description } } } override func viewDidLoad() { super.viewDidLoad() self.configureView() let userDefaults = NSUserDefaults.standardUserDefaults() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } @IBAction func tapScreen(sender: AnyObject) { self.view.endEditing(true) } }
summer

2015/05/25 11:48

自分で試行錯誤してみて、なんとかセルの遷移時に前回のメモをそのまま表示するのとsaveを押さなくて何もしなくてもメモ内容を保存できるようにはなりました。しかし未だに選択したセル毎によりメモ内容を変えることができません。どうか助言お願いします。 ちなみに現在のコードは以下のものです。 ーーメインテーブル import UIKit class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var myTableView: UITableView! let myItems: NSMutableArray = ["TEST1", "TEST2", "TEST3"] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //ナビゲーションバーに編集ボタンを追加. self.navigationItem.rightBarButtonItem = self.editButtonItem() //編集状態での選択を許可. myTableView.allowsSelectionDuringEditing = true } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } /* Cellの総数を返す (実装必須) */ func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return myItems.count } /* Cellに値を設定する (実装必須) */ func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell // Cellに値を設定. cell.textLabel?.text = "\(myItems[indexPath.row])" return cell } /* 編集ボタンが押された際に呼び出される */ override func setEditing(editing: Bool, animated: Bool) { super.setEditing(editing, animated: animated) // TableViewを編集可能にする myTableView.setEditing(editing, animated: true) // 編集中のときのみaddButtonをナビゲーションバーの左に表示する if editing { println("編集中") let addButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "addCell:") self.navigationItem.setLeftBarButtonItem(addButton, animated: true) } else { println("通常モード") self.navigationItem.setLeftBarButtonItem(nil, animated: true) } } /* addButtonが押された際呼び出される */ func addCell(sender: AnyObject) { println("追加") // myItemsに追加. myItems.addObject("add Cell") // TableViewを再読み込み. myTableView.reloadData() } /* Cellを挿入または削除しようとした際に呼び出される */ func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { // 削除のとき. if editingStyle == UITableViewCellEditingStyle.Delete { println("削除") // 指定されたセルのオブジェクトをmyItemsから削除する. myItems.removeObjectAtIndex(indexPath.row) // TableViewを再読み込み. myTableView.reloadData() } } /* Cellが選択された際に呼び出される. */ func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { // 選択中のセルが何番目か. println("Num: \(indexPath.row)") // 選択中のセルのvalue. println("Value: \(myItems[indexPath.row])") // 選択中のセルを編集できるか. println("Edeintg: \(tableView.editing)") //SecondViewController1のインスタンスを作成する. let vc: SecondViewController1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("second") as! SecondViewController1 //遷移先に選択したセルの名前を渡す. vc.memo = "\(myItems[indexPath.row])" // Viewの移動する. self.navigationController?.pushViewController(vc, animated: true) } } ーー ーーメモ内容を表示させる画面 import Foundation import UIKit class SecondViewController1: UIViewController,UITextViewDelegate{ @IBOutlet weak var detailDescriptionLabel: UILabel! @IBOutlet weak var myTextView: UITextView! var memo: AnyObject? { didSet { // Update the view. self.configureView() } } var cellnumber:AnyObject? //ページ遷移時に最初に行う処理 func configureView() { // Update the user interface for the detail item. if let detail: AnyObject = self.memo { if let label = self.detailDescriptionLabel { label.text = detail.description /*           メモデータ復元 */ // NSUserDefaultsインスタンスの生成 let userDefaults = NSUserDefaults.standardUserDefaults() // キーが"saveText"のStringをとります。 var loadText : String! = userDefaults.stringForKey("saveText") // labelに表示 myTextView.text = loadText } } } override func viewDidLoad() { super.viewDidLoad() //ページ遷移時に最初に行う処理 self.configureView() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } //tapした時に編集状態解除 @IBAction func tapScreen(sender: AnyObject) { self.view.endEditing(true) } func textViewDidChange(textView: UITextView){ // データ保存処理 // NSUserDefaultsインスタンスの生成 let userDefaults = NSUserDefaults.standardUserDefaults() // キー: "saveText" , 値: "<textFieldの入力値>" を格納。(idは任意) userDefaults.setObject(myTextView.text, forKey: "saveText") } } ーー
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問