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"))
감사합니다. 질문 하나,이 중단 점이 설정된 이유는 무엇입니까? 설정을 기억하지 못합니다. –
실수로 설정했습니다. Xcode 문서를 읽는 데는 시간이 걸릴 것입니다. 중단 점은 디버깅에 매우 유용합니다. – zaph
나는 우연히 그것을 설치했다고 믿습니다. 그것을 설정하려면 원하는 라인 (왼쪽에 있음)을 클릭하기 만하면되지만, 이는 매우 흔한 '실수'입니다 만, 쉽게 제거 할 수 있습니다. 중단 점 아이콘을 잡고 드래그하면됩니다. – Greg