2015-01-20 3 views
1

"println (buildDateString ("xx ","xx ","xx ","xx ")"을 사용하여 buildDateString 메서드를 호출 할 때마다 내 응용 프로그램이 다운되고 오류 "스레드 1 : 브레이크 포인트 4.1"스레드 1 : 중단 점 4.1 - Swift

import Foundation 
import UIKit 

func getDateFromString(dateString: String) -> NSDate? { 
    var dateFormatter: NSDateFormatter = NSDateFormatter() 

    dateFormatter.dateFormat = "MM-dd-yyyy-kk-mm-ss" 
    dateFormatter.timeZone = NSTimeZone.localTimeZone() 

    return dateFormatter.dateFromString(dateString) 
} 

func getCurrentDateAsArray() -> [Int] { 
    var dateFormatter: NSDateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "MM-dd-yyyy-kk-mm-ss" 
    dateFormatter.timeZone = NSTimeZone.localTimeZone() 

    var dateString = dateFormatter.stringFromDate(NSDate()) 

    return stringToIntArray(dateString.componentsSeparatedByString("-")) 
} 

func stringToIntArray(stringArray: [String]) -> [Int] { 
    var intArray: [Int] = [] 

    for element in stringArray { 
     intArray.append(element.toInt()!) 
    } 

    return intArray 
} 

func intToStringArray(intArray: [Int]) -> [String] { 
    var stringArray: [String] = [] 

    for element in intArray { 
     stringArray.append("\(element)") 
    } 

    return stringArray 
} 

func buildDateString(day: String, month: String, hour: String, minute: String, second: String) -> String { 
    var dayValue = day 
    var monthValue = month 
    var hourValue = hour 
    var minuteValue = minute 
    var secondValue = second 
    var currentDate = getCurrentDateAsArray() 

    println(currentDate) 

    dayValue = dayValue.utf16Count == 1 ? "0" + dayValue : dayValue 
    monthValue = monthValue.utf16Count == 1 ? "0" + monthValue : monthValue 
    hourValue = hourValue.utf16Count == 1 ? "0" + hourValue : hourValue 
    minuteValue = minuteValue.utf16Count == 1 ? "0" + minuteValue : minuteValue 
    secondValue = secondValue.utf16Count == 1 ? "0" + secondValue : secondValue 

    var bool1 = monthValue.toInt() > currentDate[0] 
    var bool2 = monthValue.toInt() == currentDate[0] && dayValue.toInt() > currentDate[1] 
    var bool3 = monthValue.toInt() == currentDate[0] && dayValue.toInt() == currentDate[1] && hourValue.toInt() > currentDate[3] 
    var bool4 = monthValue.toInt() == currentDate[0] && dayValue.toInt() == currentDate[1] && hourValue.toInt() == currentDate[3] && minuteValue.toInt() > currentDate[4] 
    var bool5 = monthValue.toInt() == currentDate[0] && dayValue.toInt() == currentDate[1] && hourValue.toInt() == currentDate[3] && minuteValue.toInt() == currentDate[4] && secondValue.toInt() > currentDate[5] 

    if (bool1 || bool2 || bool3 || bool4 || bool5) { 
     currentDate[2] = currentDate[2] + 1 
    } 

    var currentDateStringArray: [String] = [monthValue, dayValue, "\(currentDate[2])", hourValue,minuteValue, secondValue] 

    return "-".join(currentDateStringArray) 
} 

이런 이유를 이해하지 않으며, 엑스 코드는 오류가 될 일을 나에게 힌트를 제공하지 않습니다

나는 아이폰 OS 8.2 사용하고 있습니다. xCode 6.2 베타 4가있는 SDK

이 줄에는 오류가 발생합니다.

println(buildDateString("xx","xx","xx","xx","xx") 

그냥/제거 중단 점을 사용하지 않고 괜찮을한다 :

println(buildDateString("12", "5", "12", "12", "7")) 

답변

1

그것은 당신이 중단 점 설정했는지, 나는 그것이 라인에 믿습니다 의미한다.

중단 점을 비활성화하려면 xCode 메뉴 디버그 및 중단 점 비활성화를 선택하거나 apple key + Y 단축키를 사용할 수 있습니다.

+0

감사합니다. 질문 하나,이 중단 점이 설정된 이유는 무엇입니까? 설정을 기억하지 못합니다. –

+0

실수로 설정했습니다. Xcode 문서를 읽는 데는 시간이 걸릴 것입니다. 중단 점은 디버깅에 매우 유용합니다. – zaph

+0

나는 우연히 그것을 설치했다고 믿습니다. 그것을 설정하려면 원하는 라인 (왼쪽에 있음)을 클릭하기 만하면되지만, 이는 매우 흔한 '실수'입니다 만, 쉽게 제거 할 수 있습니다. 중단 점 아이콘을 잡고 드래그하면됩니다. – Greg