Swift : 'NSDate'유형의 값을 예상 인수 유형 'NSDateComponents'로 변환 할 수 없습니다.

시프트 72

누구든지 내가 어떻게 해결할 수 있는지 알고 있습니까? 이 오류가 발생합니다.

¨ 'NSDate'유형의 값을 예상 인수 유형 'NSDateComponents'로 변환 할 수 없습니다.

다음 줄에서 오류가 발생했습니다.

let competitionDay = userCalendar.dateFromComponents(competitionDate)!

다음은 코드의 더 완전한 발췌입니다.

func Date() {               

    // Here we set the current date

    let date = NSDate()
    let calendar = NSCalendar.currentCalendar()
    let components = calendar.components([.Hour, .Minute, .Second, .Nanosecond], fromDate: date)
    let hour = components.hour
    let minutes = components.minute
    let month = components.month
    let year = components.year
    let day = components.day


    let currentDate = calendar.dateFromComponents(components)



    // here we set the due date. When the timer is supposed to finish
    // final Calendar value

        let userCalendar = NSCalendar.currentCalendar()


        let competitionDate:NSDate = myDatePicker.date


        competitionDate.timeIntervalSinceNow


        let competitionDay = userCalendar.dateFromComponents(competitionDate)!


    // Here we compare the two dates
    competitionDay.timeIntervalSinceDate(currentDate!)


    let dayCalendarUnit = calendar.components([NSCalendarUnit.Day, NSCalendarUnit.Hour, NSCalendarUnit.Minute], fromDate: date)


    //here we change the seconds to hours,minutes and days


    let competitionDayDifference = calendar.components([.Day, .Hour, .Minute],
            fromDate: currentDate!, toDate: competitionDay, options: NSCalendarOptions())

    //finally, here we set the variable to our remaining time
    let daysLeft = competitionDayDifference.day
    let hoursLeft = competitionDayDifference.hour
    let minutesLeft = competitionDayDifference.minute
Rob

귀하의 원래 질문에서을 호출했습니다 dateFromComponents. 이는 a NSDateComponents로 변환 NSDate하지만 competitionDate이미 NSDate. 그리고 컴파일러는 단순히이 오류를 알려줍니다.

-

제쳐두고, 당신이 채울으로 NSDateComponents으로 .Hour, .Minute, .Second, 및 .NanosecondA로부터 NSDate, 그러나 진행합니다에 대한 참조 저장하려고하는 components.year과를 components.month하고 components.day당신은 그 구성 요소가 포함되어야 함을 지정하지 않은 경우에도 NSDateComponents.

-

아래 당신은 말한다 :

그것은 카운트 다운 앱이고 DatePicker가 카운트 다운하는 날짜를 선택하기를 원할 때까지 실행했습니다. CompetitionDate는 마감일입니다.

그것이 정말로 당신이 원하는 것이라면 아마도 NSDateComponents전혀 필요하지 않을 입니다. 나는 아마도 개체 사이의 시간을 나타내는 멋진 문자열 표현을 사용자에게 보여주기 위해 NSDateComponentsFormatter메서드 stringFromDate:toDate:사용할 것입니다 NSDate.

예를 들면 :

class ViewController: UIViewController {

    @IBOutlet weak var datePicker: UIDatePicker!
    @IBOutlet weak var label: UILabel!

    weak var timer: NSTimer?

    let formatter: NSDateComponentsFormatter = {
        let _formatter = NSDateComponentsFormatter()
        _formatter.allowedUnits = [.Year, .Month, .Day, .Hour, .Minute, .Second]
        _formatter.unitsStyle = .Full

        return _formatter
    }()

    override func viewDidLoad() {
        super.viewDidLoad()

        datePicker.date = NSDate().dateByAddingTimeInterval(1000) // initialize it to whatever you want
    }

    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)

        timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: "didFireTimer:", userInfo: nil, repeats: true)
    }

    override func viewDidDisappear(animated: Bool) {
        super.viewDidDisappear(animated)

        timer?.invalidate()
    }

    func didFireTimer(timer: NSTimer) {
        label.text = formatter.stringFromDate(NSDate(), toDate: datePicker.date)
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Swift 오류 : 'Character'유형의 값을 예상 인수 유형 'Unicode.Scalar'로 변환 할 수 없습니다.

분류에서Dev

'Float'유형의 값을 예상 인수 유형 'Binding <Float>'으로 변환 할 수 없습니다. 오류 Swift 5.2

분류에서Dev

Swift 범주 : "유형의 값을 예상되는 인수 유형 'AnyObject!'로 변환 할 수 없습니다.

분류에서Dev

SWIFT 오류 ""UIImageView "유형의 값을 예상 인수 유형"UIImage "로 변환 할 수 없습니다.

분류에서Dev

Swift 3.0은 (_, _)-> () 유형의 값을 예상 인수 유형 'ObjectsOrErrorBlock'으로 변환 할 수 없습니다.

분류에서Dev

swift는 (_, _)-> _ 유형의 값을 예상 인수 유형 '((_, CGFloat))-> _로 변환 할 수 없습니다.

분류에서Dev

firebase swift 3 conversion : '(_)-> ()'유형의 값을 예상 인수 유형 '((오류)-> Void)로 변환 할 수 없습니까?

분류에서Dev

() 유형의 값을 예상 인수 유형 bool (Swift)로 변환 할 수 없습니까?

분류에서Dev

'UserFile'유형의 값을 예상 인수 'User'로 변환 할 수 없습니다.

분류에서Dev

'[문자열]'유형의 값을 변환 할 수 없습니다. 예상되는 인수 유형 'String'Swift

분류에서Dev

'[dataModel]'유형의 값을 예상 인수 유형 '(dataModel) throws-> Bool'으로 변환 할 수 없습니다.

분류에서Dev

'[array]'유형의 값을 예상 인수 유형 'Range <Int>'로 변환 할 수 없습니다.

분류에서Dev

'[String : String]'유형의 값을 예상 인수 유형 'HTTPHeaders?'로 변환 할 수 없습니다.

분류에서Dev

'(Int)-> VStack <Button <Text >>'유형의 값을 예상 인수 유형 '(_)-> _'로 변환 할 수 없습니다.

분류에서Dev

'NSImageInterpolation.Type'유형의 값을 예상 인수 유형 '[NSImageRep.HintKey : Any]?'로 변환 할 수 없습니다.

분류에서Dev

'Int'유형의 값을 예상 인수 유형 'String.Index'로 변환 할 수 없습니다.

분류에서Dev

'x'유형의 값을 예상 인수 유형 '[String : Any]'로 변환 할 수 없습니다.

분류에서Dev

'String'유형의 값을 예상 인수 유형 'Binding <String>'으로 변환 할 수 없습니다.

분류에서Dev

'TaskElement'유형의 값을 예상 인수 유형 'EnvironmentObject <TaskElement>'로 변환 할 수 없습니다.

분류에서Dev

'SharedSequence <DriverSharingStrategy, Data?>'유형의 값을 예상 인수 유형으로 변환 할 수 없습니다.

분류에서Dev

'NSURL'유형의 값을 예상 인수 유형 'NSURLRequest'로 변환 할 수 없습니다.

분류에서Dev

NSMutableDictionary 유형의 값을 예상 인수 유형 '[NSObject : AnyObject]?'로 변환 할 수 없습니다.

분류에서Dev

'CMSampleTimingInfo'유형의 값을 예상 인수 유형 'UnsafePointer <CMSampleTimingInfo>'로 변환 할 수 없습니다.

분류에서Dev

'[RKDataStreamingMask]'유형의 값을 예상 인수 유형 'RKDataStreamingMask'로 변환 할 수 없습니다.

분류에서Dev

'[Double]'유형의 값을 예상 인수 유형 'Double'으로 변환 할 수 없습니다.

분류에서Dev

'Int'유형의 값을 예상 인수 유형 '_?'으로 변환 할 수 없습니다.

분류에서Dev

'JSON'유형의 값을 예상 인수 유형 'JSON'으로 변환 할 수 없습니다.

분류에서Dev

오류 : '(_, _)-> Void'유형의 값을 예상 인수 유형 '((UIAlertAction)-> Void)?'로 변환 할 수 없습니다.

분류에서Dev

이 for 루프에서 ''String '유형의 값을 예상 인수 유형'Int '로 변환 할 수 없습니다.

Related 관련 기사

  1. 1

    Swift 오류 : 'Character'유형의 값을 예상 인수 유형 'Unicode.Scalar'로 변환 할 수 없습니다.

  2. 2

    'Float'유형의 값을 예상 인수 유형 'Binding <Float>'으로 변환 할 수 없습니다. 오류 Swift 5.2

  3. 3

    Swift 범주 : "유형의 값을 예상되는 인수 유형 'AnyObject!'로 변환 할 수 없습니다.

  4. 4

    SWIFT 오류 ""UIImageView "유형의 값을 예상 인수 유형"UIImage "로 변환 할 수 없습니다.

  5. 5

    Swift 3.0은 (_, _)-> () 유형의 값을 예상 인수 유형 'ObjectsOrErrorBlock'으로 변환 할 수 없습니다.

  6. 6

    swift는 (_, _)-> _ 유형의 값을 예상 인수 유형 '((_, CGFloat))-> _로 변환 할 수 없습니다.

  7. 7

    firebase swift 3 conversion : '(_)-> ()'유형의 값을 예상 인수 유형 '((오류)-> Void)로 변환 할 수 없습니까?

  8. 8

    () 유형의 값을 예상 인수 유형 bool (Swift)로 변환 할 수 없습니까?

  9. 9

    'UserFile'유형의 값을 예상 인수 'User'로 변환 할 수 없습니다.

  10. 10

    '[문자열]'유형의 값을 변환 할 수 없습니다. 예상되는 인수 유형 'String'Swift

  11. 11

    '[dataModel]'유형의 값을 예상 인수 유형 '(dataModel) throws-> Bool'으로 변환 할 수 없습니다.

  12. 12

    '[array]'유형의 값을 예상 인수 유형 'Range <Int>'로 변환 할 수 없습니다.

  13. 13

    '[String : String]'유형의 값을 예상 인수 유형 'HTTPHeaders?'로 변환 할 수 없습니다.

  14. 14

    '(Int)-> VStack <Button <Text >>'유형의 값을 예상 인수 유형 '(_)-> _'로 변환 할 수 없습니다.

  15. 15

    'NSImageInterpolation.Type'유형의 값을 예상 인수 유형 '[NSImageRep.HintKey : Any]?'로 변환 할 수 없습니다.

  16. 16

    'Int'유형의 값을 예상 인수 유형 'String.Index'로 변환 할 수 없습니다.

  17. 17

    'x'유형의 값을 예상 인수 유형 '[String : Any]'로 변환 할 수 없습니다.

  18. 18

    'String'유형의 값을 예상 인수 유형 'Binding <String>'으로 변환 할 수 없습니다.

  19. 19

    'TaskElement'유형의 값을 예상 인수 유형 'EnvironmentObject <TaskElement>'로 변환 할 수 없습니다.

  20. 20

    'SharedSequence <DriverSharingStrategy, Data?>'유형의 값을 예상 인수 유형으로 변환 할 수 없습니다.

  21. 21

    'NSURL'유형의 값을 예상 인수 유형 'NSURLRequest'로 변환 할 수 없습니다.

  22. 22

    NSMutableDictionary 유형의 값을 예상 인수 유형 '[NSObject : AnyObject]?'로 변환 할 수 없습니다.

  23. 23

    'CMSampleTimingInfo'유형의 값을 예상 인수 유형 'UnsafePointer <CMSampleTimingInfo>'로 변환 할 수 없습니다.

  24. 24

    '[RKDataStreamingMask]'유형의 값을 예상 인수 유형 'RKDataStreamingMask'로 변환 할 수 없습니다.

  25. 25

    '[Double]'유형의 값을 예상 인수 유형 'Double'으로 변환 할 수 없습니다.

  26. 26

    'Int'유형의 값을 예상 인수 유형 '_?'으로 변환 할 수 없습니다.

  27. 27

    'JSON'유형의 값을 예상 인수 유형 'JSON'으로 변환 할 수 없습니다.

  28. 28

    오류 : '(_, _)-> Void'유형의 값을 예상 인수 유형 '((UIAlertAction)-> Void)?'로 변환 할 수 없습니다.

  29. 29

    이 for 루프에서 ''String '유형의 값을 예상 인수 유형'Int '로 변환 할 수 없습니다.

뜨겁다태그

보관