Во-первых, NSArray -objectAtIndex:
не возвращает nil
, если вы передадите ему индекс, выходящий за пределы, он поднимет NSRangeException
, когда вы не уверены в индексе и вам нужно использовать -objectAtIndex:
, для проверки необходимо вызвать метод -count
.
Что еще более важно, NSArray
не может содержать значение nil
, поскольку nil
не является объектом.
Тогда, нет, это не NSDate
объект, когда вы спрашиваете item
, что он сбрасывает отношения (item.resets
), вы получаете NSSet
, который содержит Reset
управляемые объекты взамен, а не NSDate
objects, вам нужен атрибут resetDate
возвращаемых Reset
управляемых объектов, может быть что-то вроде этого:
// NSArray -lastObject method return nil if the array is empty
// Sending messages to nil is Ok there, so we can call resetDate directly
NSDate *oldDate = [[sortedResets lastObject] resetDate];
if ( !oldDate ) {
oldDate = [NSDate date];
}
Надеюсь, что поможет, и что мой английский понятен ...