前提・実現したいこと
1日1回しか押せないボタンを作りたい。
毎日深夜0時にリセットされ、再び押されるようになるボタンを作りたいです。
試したこと
実装するために調べていて、どうやらDateというので日付を扱えるというのが分かったのですが、1日1回しか押せないような記事が無く、現在調べている状況です。
ご教示頂けると幸いです。
よろしくお願いします。
4/19追記
Buttonを押せなくするのを実装しようとしていたのですが、難しく。
Buttonを非表示にしようと以下のコードを書いているのですが、実装できない状態です
どなたかご教示頂けると幸いです。
import UIKit class ViewController: UIViewController { var hikaku = "" var hikakuTwo = "" var hikakuIF = true var hajime = true @IBOutlet var button: UIButton! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. //現在の日付を取得 let date:Date = Date() let format = DateFormatter() format.dateFormat = "yyyy/MM/dd" hikaku = format.string(from: date) print(hikaku) } override func viewDidAppear(_ animated: Bool) { if UserDefaults.standard.object(forKey: "hikakuKey") != nil { hikaku = UserDefaults.standard.object(forKey: "hikakuKey") as! String } if UserDefaults.standard.object(forKey: "hikakuIFKey") != nil { hikakuIF = UserDefaults.standard.object(forKey: "hikakuIFKey") as! Bool } if UserDefaults.standard.object(forKey: "hajimeKey") != nil { hajime = UserDefaults.standard.object(forKey: "hajimeKey") as! Bool } let date:Date = Date() let format = DateFormatter() format.dateFormat = "yyyy/MM/dd" hikaku = format.string(from: date) if hajime != false { hikakuTwo = format.string(from: date) UserDefaults.standard.set(hikakuTwo, forKey: "hikakuKey") hajime = false UserDefaults.standard.set(hajime, forKey: "hajimeKey") print("A") } else { if hikakuIF == true { hikakuTwo = format.string(from: date) UserDefaults.standard.set(hikakuTwo, forKey: "hikakuKey") hikakuIF = false print("B") } } if hikaku == hikakuTwo { button.isHidden = true print("ボタン非表示") } } @IBAction func button(_ sender: Any) { } }
補足情報(FW/ツールのバージョンなど)
Swift5 Xcode11
回答3件
あなたの回答
tips
プレビュー