2017-12-21 22 views
1

私が取り組んでいたプロジェクトでは、曜日(月曜日、火曜日、水曜日など)によって異なるテキストを表示するアプリを作成したかったのですがしかし、私はここから何をすべきか分からない。私は新しいコーディングすぎるので、どんな助けも高く評価されるだろう。意図したとおりに次のコードが機能していないようですので、 (。週に応じて別のメッセージを表示

class ViewController: UIViewController { 

    @IBOutlet weak var label: UILabel! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let date = Date() 
     let calendar = Calendar.current 

     let hour = calendar.component(.hour, from: date) 
     let minutes = calendar.component(.minute, from: date) 
     let seconds = calendar.component(.second, from: date) 

     let day = calendar.component(.day, from: date) 
     let month = calendar.component(.month, from: date) 
     let year = calendar.component(.year, from: date) 

     if day = 21 { 
      label.text = "not comming today" 
     } 
     else if day = 22 { 
      label.text = "not comming today" 
     } 
     else if day = 23 { 
      label.text = "is comming today" 
     } 
    }  

} 
+0

は 'NSCalendarUnitWeekday'である必要があります。コードもコンパイルされません – Larme

+2

... ( '==')を使って比較するのではなく、 'if'節で定数に値を代入しようとしています。 、from:date) 'は、あなたにその日のその日の位置を返します。 –

+0

それを実行するには、エラーメッセージ "スレッド1のエラーSIGABRT"が表示され、メッセージは表示されません... –

答えて

1

あなたは何をしたいweekdayコンポーネント

let weekday = calendar.component(.weekday, from: date) 
switch weekday { 
    case 1: print("It's Sunday") 
    case 2: print("It's Monday") 
    ... 
    case 7: print("It's Saturday") 
    default: break 
} 
+0

私はそうしました。しかし、以下のように動作していないようです:@IBOutlet weak var MYLABEL:UILabel! = Calendar.current オーバーライドのviewDidLoad FUNC(){ super.viewDidLoad() LET日=日() LETカレンダーはdayOfTheWeek = calendar.component(.weekday、から:日付)させdayOfTheWeek場合 == 4 { self.MYLABEL.text = "hello4" }他 場合dayOfTheWeekの== 5 { self.MYLABEL.text = "hello5" }} –

+0

問題を起こさない平日を取得するためのコード。 – vadian

+0

..................... –

関連する問題