У меня есть приложение для iPad (XCode 6.1.1, iOS 8.1, ARC), и когда я запускаю его на симуляторе 8.1, приложение вылетает, сравнивая длину строки. Это работает уже больше года и вчера прекратилось. Это код:
Это код в файле .h:
@property NSString *shopOpenHour;
@property NSString *shopCloseHour;
Это код в файле .m:
@synthesize shopOpenHour;
@synthesize shopCloseHour;
и:
if(shopOpenHour.length == 0 || shopCloseHour.length == 0) {
и это также вызывает сбой:
NSLog(@"\n\nlength test: %d", (int)shopCloseHour.length);
Это ошибка, которую я получаю:
*** Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «-[__NSCFNumber length]: нераспознанный селектор отправлен экземпляру 0xb000000000003203»
Он отлично работает под управлением симулятора 7.1 и iPad под управлением iOS 8.1. Я не понимаю, где/почему NSCFNumber "на картинке".
Мой вопрос: какие-либо идеи о том, что вызывает это (прежде чем я отправлю RADAR?)
NSString
? - person CRD   schedule 10.01.2015shopCloseHour
? ЗаменитеshopCloseHour
на_shopCloseHour
в выраженияхif
иNSLog
и повторите попытку. - person Danny Daglas   schedule 10.01.2015