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

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

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

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

Xcode

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

Swift

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

Q&A

解決済

1回答

2049閲覧

UserDefaultsのキーの設定について

sr2000

総合スコア39

iOS

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

Xcode

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

Swift

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

0グッド

0クリップ

投稿2018/05/27 03:34

現在ある教本のタイマーアプリを作成してるのですが、
サンプルコードで
//設定値を扱うキーを作成
let settingKey = "timer_Value"
とあるのですが、このsettingKeyを宣言して文字列である"Timer_Value"を
代入している意図が理解できずにこまってい

import UIKit class ViewController: UIViewController { //タイマーの変数を作成 var timer: Timer? //カウント(経過時間)の変数を作成 var count = 0 //設定値を扱うキーを作成 let settingKey = "timer_Value" override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //UserDefaultsのインスタンスを生成 let settings = UserDefaults.standard //UserDefaultsに初期値を登録 settings.register(defaults: [settingKey:10]) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBOutlet weak var countDownLabel: UILabel! @IBAction func settingButtonAction(_ sender: Any) { } @IBAction func startButtonAction(_ sender: Any) { } @IBAction func stopButtonAction(_ sender: Any) { } //画面を更新するメソッド func displayUpdate() -> Int { //UserDefaultsのインスタンスを生成 let settings = UserDefaults.standard //取得した秒数をtimerValueに渡す let timerValue = settings.integer(forKey: settingKey) //残り時間を計算 let remainCount = timerValue - count //残り時間をラベルに表示 countDownLabel.text = "残り(remainCount)秒" //残り時間を戻り値に設定 return remainCount } }

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

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

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

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

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

guest

回答1

0

ベストアンサー

[settingKey: 10]は辞書(Dictionary)で、KeysettingKey10Valueです。

サジェストでも出ますが、キーには文字列を設定します。

swift

1//UserDefaultsのインスタンスを生成 2let settings = UserDefaults.standard 3 4//UserDefaultsに初期値を登録 5settings.register(defaults: [settingKey: 10]) 6 7// settingKeyで値を取り出し 8let time = settings.integer(forKey: settingKey) 9//=> 10

投稿2018/05/27 03:59

編集2018/05/27 04:08
_Kentarou

総合スコア8490

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

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

sr2000

2018/05/27 04:10

回答ありがとうございます。 キーはString型であるため、settingKeyに文字列を代入して キーを作成しているという認識で間違いないでしょうか?
sr2000

2018/05/27 04:13

ありがとうございました。 いつもありがとうございます。 とても助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問