Когда я пытаюсь преобразовать строку в дату с помощью метода NSDateFormatter dateFromString
, приложение падает со значениями Null. Я нашел много ответов и обсуждений по SO, когда dateFromString
возвращает значение null, но не может найти ничего о том, как обрабатывать ввод нулевого значения.NSDateFormatter dateFromString on null Значения
Строка, о которой идет речь, анализируется JSON, исходящей от сервера, и пуста - это довольно простое количество времени. Следующий код работает, если дата время имеет значение, но падает на нулевые значения, говоря: NSNull length]: unrecognized selector sent to instance 0x39ab2a70
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *starttimestr = feedElement[@"starttime"];
NSLog(@"starttimestr%@",starttimestr);
NSDate *starttime = [dateFormatter dateFromString:starttimestr];
NSLog(@"starttime%@",starttime);
Спасибо за любые предложения.
Почему бы вам не проверить, чтобы увидеть, если его нулевой, прежде чем пытаться отформатировать его? То есть используйте только код форматирования, если у вас действительно есть значение – Flexicoder
Я пробовал различные комбинации следующих, но не мог заставить их работать. if (lasttouchedstr.length == 0), if (@lasttouchedstr), если lasttouchstr == nil) и т. д. Можете ли вы предложить правильный способ тестирования? –