In my code dateFormatter.date
is used multiple time in loop (more than 100) and i am getting crash sometime even if input date is in correct format. Getting date nil (sometimes).
getDayFromDate() function in in loop and passing different date received from web-service (e.g 2018-06-17T00:00:00) as a parameter. always passing time as 00:00:00. inputDateString is checked and it is always in correct format.
extension Formatter {
static let enUSPOSIX: DateFormatter = {
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")//For 11.3.1 version change
return formatter
}()
}
func getDayFromDate(inputDateString: String) -> Int{
let dateFormatter = Formatter.enUSPOSIX
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
let date = dateFormatter.date(from: inputDateString ) // e.g. 2018-06-17T00:00:00
dateFormatter.timeZone = TimeZone(identifier: "UTC")
let calendar = Calendar.current
let dayComponent = calendar.component(.day, from: date!)
return dayComponent
}
I observed that when there is too many background apps running in iPhone then only it get crashing.