2017-12-21 12 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' 절에서 상수에 값을 할당하려고합니다. 또한'let dayOfTheWeek = calendar.component (.weekday , 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! viewDidLoad에() { super.viewDidLoad() 하자 날짜 = 날짜() 하자 달력 FUNC 재정의 = Calendar.current dayOfTheWeek = calendar.component (.weekday에서 : 날짜) 할 수 dayOfTheWeek 경우 == 4 { self.MYLABEL.text = "hello4" } 다른 경우 dayOfTheWeek의 == 5 { self.MYLABEL.text = "hello5" } } –

+0

문제가 발생하지 않습니다 평일를 얻을 수있는 코드 . – vadian

+0

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