あじのひらきかた

プログラム書いたり子育てしたり

swiftで当日日付を取得して、画面に表示する。

こんにちは、今日は夫の誕生日でお肉を食べたあじのひらきです。

子どもの寝かしつけ後、昼寝中、などなど細かい空き時間を利用して、黙々とアプリ開発を進めています。

 

開発中のアプリはホーム画面に「当日日付」を表示したいので、今日はその手順を簡単に記録しておく。とても簡単なコードですが、まあアウトプットとして。

 

1.storyboardに日付表示用のNavigationBarを配置します。

表示ラベルは現在「title」となっていますね。ここを当日日付にしたい訳です。

f:id:ajino-hiraki:20180917004633p:plain


2.先ほど配置したNavigationBarと、ViewControllerを紐付けます。

storyboardのNavigationBarを選択し、ViewControllerへctrl+ドラッグします。
変数名を設定するダイアログの後、自動でコードがエディタに書き込まれます。

f:id:ajino-hiraki:20180917005920p:plain


3.次は日付を取得するコードです。

こちらはシンプルなよくある取得方法です。Dateクラスを使い、フォーマットを文字列で指定する事で「yyyy/mm/dd」で取得します。

func getToday(format:String = "yyyy/MM/dd HH:mm:ss") -> String {
        let now = Date()
        let formatter = DateFormatter()
        formatter.dateFormat = format
        return formatter.string(from: now as Date)
    }

 
 
4.取得した日付文字列を画面に表示します。
3のgetTodayメソッドを呼び出し、2で作成した変数であるUINavigationItemクラスのtitleプロパティに代入します。
代入する処理はviewDidLoadメソッドの中に記述します。これで画面表示前に日付を設定する処理が走ります。

    // 本日の日付
    @IBOutlet weak var labelToday: UINavigationItem!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        labelToday.title = getToday(format:"yyyy-MM-dd")
    }


5.シミュレータを起動してみます。
するとこのようにtitle部分に当日日付が表示されます。

 f:id:ajino-hiraki:20180917011723p:plain


 以上です!

個人的に、画面とコントロールの紐付けがGUIで出来るのが面白いと感じています。
直感的でわかりやすいですね。
 
引き続き、開発を進めていきます!