現在、アプリを作成しているのですが
あと少しのところでつまづいています。
一枚目のページのテキストフィールドに入力した値を
ボタンをクリックすることによって
UsreDefaultsに保存しています。
そして、二枚目に遷移したら
UserDefaultsを読み込んで
二枚目に配置してあるラベルの文字を変えて
さらにここから
二枚目に配置してあるボタンをタッチすると
また、一枚目に遷移して
そしてまた、一枚目のテキストフイールドに文字を入力して
保存ボタンを押すと値を保存して
遷移するボタンを押すと二枚目のページのCellを増やすついったことが
したいです。
しかしながら
あと少しのところで手詰まりになっています。
コードを載せます。
こちらが一枚目のViewControllerでございます。
Swift
1import Foundation 2import UIKit 3 4 5 6 7class FirstViewController: UIViewController{ 8 9 10 11 let userDefaults = NSUserDefaults.standardUserDefaults() 12 13 14 var Savehozon: String? 15 16 17 @IBOutlet weak var MyText: UITextField! 18 19 //こちらが保存ボタンです。 20 @IBAction func AddAction(sender: AnyObject) { 21 22 //テキストフィールドに入力したあたいをこの保存ボタンで保存してSavehozonに代入しています。 23 Savehozon = MyText.text! 24 25 26 27 //それをReciveSaveでキーを取得して保存しています。 28 userDefaults.setObject(Savehozon, forKey:"ReciveSave") 29 30 } 31 32 33 override func viewDidLoad() { 34 super.viewDidLoad() 35 36 37 38 39 } 40 41 override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 42 view.endEditing(true) 43 } 44 45 override func didReceiveMemoryWarning() { 46 super.didReceiveMemoryWarning() 47 } 48 49 50 51 52 53} 54 55 56
こちらが2枚目のViewControllerです。
import Foundation
import UIKit
class SaitouViewController: UITableViewController {
var ReciveData: [String] = [] let userDefaults = NSUserDefaults.standardUserDefaults()
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//対象のCellを取得しています。 let cell = tableView.dequeueReusableCellWithIdentifier("MyCell", forIndexPath:indexPath) //Cellに配置してあるラベルをタグIDから取得しました。 let label = cell.viewWithTag(1) as! UILabel //それをReciveData[0]で取り出してラベルを書き換えています。 label.text = ReciveData[0] return cell } override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return ReciveData.count } override func viewDidLoad() { super.viewDidLoad() //二枚目に遷移してきたらReciveSaveを読み込んで配列ReciveDataにappendしました。 let result = userDefaults.objectForKey("ReciveSave") as? String ReciveData.append(result!) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() }
}
ここまで、なんとかコーディングしてみたのですが
どうしても、遷移元で保存ボタンを押して
遷移してCellを表示そしてまた遷移元に戻り
新しい、値を保存して遷移して新しいCellを追加といったことができません。
これらの処理を実現できるよう
どなたか、アドバイスを頂けたらと思います。
宜しくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/21 05:48