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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Xcode

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

Swift

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

Q&A

解決済

2回答

1904閲覧

数字の保存

hikarin

総合スコア24

Xcode

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

Swift

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

0グッド

0クリップ

投稿2016/11/06 07:16

ただいまswiftでのデータの保存ができなく困っています。
保存の方法にも色々あるようですがNSUserDefault(UserDefault)を用いて実装しようと思うのですがうまくいきません。
下記のようなボタンを押すと回数がカウントされるものでボタンを5回押して再起動後も5回押したことを記憶するにはどうでしたらいいでしょうか。

import UIKit class ViewController: UIViewController { var point = 0 @IBOutlet weak var kaisuu: UILabel! @IBAction func button(_ sender: AnyObject) { point = point+1 kaisuu.text = String(point) } override func viewDidLoad() { super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }

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

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

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

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

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

fuzzball

2016/11/06 23:43

UserDefaultの何がどううまくいかないのか書いて下さい。
guest

回答2

0

ベストアンサー

UserDefaultsを使用したサンプルです。(swift3.0)

swift3

1import UIKit 2 3class ViewController: UIViewController { 4 5 var point = 0 6 7 let ud = UserDefaults.standard 8 9 @IBOutlet weak var kaisuu: UILabel! 10 11 @IBAction func button(_ sender: AnyObject) { 12 point = point+1 13 kaisuu.text = String(point) 14 15 // pointをローカルストレージに保存 16 ud.set(point,forKey:"point") 17 // 直ちに保存 18 ud.synchronize() 19 20 } 21 override func viewDidLoad() { 22 super.viewDidLoad() 23 24 // 未作成ならpointというキーで初期データを作成 25 ud.register(defaults: ["point":0]) 26 27 // ローカルストレージからpointをロード 28 point = ud.object(forKey: "point") as! Int 29 30 // ラベルに表示 31 kaisuu.text = String(point) 32 33 } 34 35 override func didReceiveMemoryWarning() { 36 super.didReceiveMemoryWarning() 37 // Dispose of any resources that can be recreated. 38 } 39} 40

投稿2016/11/06 20:36

fromageblanc

総合スコア2724

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

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

0

’再起動後も’という事であれば、動作中や終了時にファイルに書き出し、再起動時にそのファイルがあればファイルから読み込む(初期起動時にはファイルは存在しないはずだから)で実現するのが一般的だと思います。
方法は人の数ほどあるかと。

投稿2016/11/06 09:13

MasahikoHirata

総合スコア3747

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

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

MasahikoHirata

2017/10/29 16:32

”再起動後”にデータを保持する手法とは? 低評価された方、教えてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問