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

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

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

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

Q&A

解決済

1回答

2103閲覧

swiftの今日の日付を取ってくるコードのエラーをどのように直せばいいか

退会済みユーザー

退会済みユーザー

総合スコア0

Swift

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

0グッド

0クリップ

投稿2017/10/14 05:13

編集2017/10/14 22:10

###前提・実現したいこと
日めくりカレンダーアプリを以下のサイトの動画を参考に実装していますが、コードがコンパイルできない問題が起きています。

参考サイト

###発生している問題・エラーメッセージ

import UIKit class ViewController: UIViewController { @IBOutlet var yearLabel:UILabel! @IBOutlet var monthLabel:UILabel! @IBOutlet var dayLabel:UILabel! var dayCount = 0; override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. showDate() } func showDate(){ let seconds = TimeInterval(dayCount*24*60*60) let now = NSDate(timeIntervalSinceNow:seconds) let dateFormatter = DateFormatter() dateFormatter.locale = NSLocale(localeIdentifier:"ja_JP") as Locale! dateFormatter.dateFormat = "yyyy" let year = dateFormatter.string(from: now as Date) yearLabel.text = year dateFormatter.dateFormat = "M" let month = dateFormatter.string(from: now as Date) monthLabel.text = month dateFormatter.dateFormat = "d" let day = dateFormatter.string(from: now as Date) dayLabel.text = day } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }

このように書き換えたのですが、シュミレーターを起動させても動作せずに困っています。

###該当のソースコード

Swift

1import UIKit 2 3class ViewController: UIViewController { 4 5 @IBOutlet var yearLabel:UILabel! 6 @IBOutlet var monthLabel:UILabel! 7 @IBOutlet var dayLabel:UILabel! 8 9 var dayCount = 0; 10 11 override func viewDidLoad() { 12 super.viewDidLoad() 13 // Do any additional setup after loading the view, typically from a nib. 14 15 showDate() 16 } 17 18 func showDate(){ 19 let seconds = NSTimeInterval(dayCount*24*60*60) 20 let now = NSDate(timeIntervalSinceNow:seconds) 21 22 let dateFormatter = NSDateFormatter() 23 dateFormatter.locale = NSLocale(localeIdentifier:"ja_JP") 24 25 dateFormatter.dateFormat = "yyyy" 26 let year = dateFormatter.stringFromdate(now) 27 yearLabel.text = year 28 29 dateFormatter.dateFormat = "M" 30 let month = dateFormatter.stringFromdate(now) 31 monthLabel.text = month 32 33 dateFormatter.dateFormat = "d" 34 let day = dateFormatter.stringFromDate(now) 35 dayLabel.text = day 36 } 37 38 override func didReceiveMemoryWarning() { 39 super.didReceiveMemoryWarning() 40 // Dispose of any resources that can be recreated. 41 } 42 43 44}

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

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

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

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

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

fuzzball

2017/10/16 02:28

最初のコードがあなたが書き換えたコードですよね?エラーは出ないと思うのですが、どういうエラーが出ているのでしょうか?Xcodeのバージョンは?
退会済みユーザー

退会済みユーザー

2017/10/16 03:56

コメントいただきましてありがとうございます。「発生している問題・エラーメッセージ」のコードを実行していますが、画面が真っ白なままでStoryBoardで作成したものは表示されません。Xcodeはversion9.0です。
fuzzball

2017/10/16 04:02 編集

3つのUILabelは画面内に配置されているでしょうか?また、showDate()の最後に print(year, month, day) を追加して出力を教えて下さい。
退会済みユーザー

退会済みユーザー

2017/10/29 06:55

この問題に関して考える時間が得られなくなったため、返信が遅くなり申し訳ございませんが、一時中断させていtだきます。
guest

回答1

0

ベストアンサー

swift2.0はNSと先頭に付けなければならなかったのですが、swift3になってからはNSをとるようになりました。'NSTimeInterval' has been renamed to 'TimeInterval'

swiftは更新が早いので一苦労ですね汗

投稿2017/10/14 12:14

hellommm

総合スコア49

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問