Как вы можете проверить исходный файл intobject.c , Python кэширует мелкие целые числа для эффективности. Каждый раз, когда вы создаете ссылку на небольшое целое число, вы ссылаетесь на кэшированное маленькое целое число, а не на новый объект. 257 не является маленьким целым числом, поэтому он вычисляется как другой объект.
Для этого лучше использовать ==
.
Можно использовать NSDateFormatter для парсинга дат:
NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
date = [dateFormatter dateFromString:dateStr];
unicode шаблоны формата даты определяют строку формата, которую можно использовать с setDateFormat:
метод.
Примечание, что, если Вы нацелены 10.4 затем, необходимо звонить: [dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
. Не нужный для iPhone или леопарда, поскольку этот режим является значением по умолчанию там.
Если только необходимо обработать формат ISO 8601 (которых та строка является примером), Вы могли бы попробовать мой синтаксический анализатор ISO 8601 и несинтаксический анализатор .