現在Swiftを勉強している者です。
NSUserDefaultsについて質問です。
View1にボタンを3つ配置して、
View2でView1どのボタンが押されたか保存するという事をしようと思っています。
// View1(各ボタンにタグを付けています。1~3)
let a = Int
let b = 0
fun tap(sender: UIButton){
swich(sender.tag){
case 1:b = 1
case 2:b = 2
case 3:b = 3
defaults:print("タグの反応してない")
}
a.append(b)
let ud = NSUserDefaults.standardUserDefaults()
ud.objectForKey("ButtonTap")
}
// View2
override func viewDidApper(animated: Bool){
super.viewDidApper(animated)
let ud = NSUserDefaults.standardUserDefaults()
if ud.objectForKey("ButtonTap") != nil {
let c = ud.objectForKey("ButtonTap") as! [Int]
print("配列cの中身:(c)")
}
}
このようにView1で押されたボタンのタグを配列に入れて、
View2で何がどのように押されたか見れるようには出来ました。
しかし以下のようにすると、値が上手く保存出来ていないようです。
①各ボタンをそれぞれ1回ずつ押す(a=[1,2,3])→View1に渡す
②再起動後ボタン1を押す(a=[1,2,3,1])→View1に渡す
③更に再起動して保存した中身を調べると・・・(a=[1])
というようにa=[1,2,3,1]と保存したい物が、
2回目の最後に押した1しかデータが残らないです。
この状況を打開する策はないでしょうか。
説明が長く大変読みにくいとは思いますが、
ご返答お待ちしております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/16 04:14