我的代码在确定数组中最早的日期和最晚的日期时遇到很多问题。这是我正在使用的代码:
NSDate *startDate = nil; // Earliest date
NSDate *endDate = nil; // Latest date
for (id entry in myArray)
{
NSDate *date = [entry objectForKey:kDate];
if (startDate == nil && endDate == nil)
{
startDate = date;
endDate = date;
}
else if ([date compare:endDate] == NSOrderedAscending)
{
startDate = date;
}
else if ([date compare:startDate] == NSOrderedDescending)
{
endDate = date;
}
date = nil;
}
请有人可以帮助我找出我要去哪里哪里吗?
最佳答案
您确定在startDate
语句中以错误的方式设置了endDate
和else if
吗?您不想要这样:
NSDate *startDate = nil; // Earliest date
NSDate *endDate = nil; // Latest date
for (id entry in myArray)
{
NSDate *date = [entry objectForKey:kDate];
if (startDate == nil && endDate == nil)
{
startDate = date;
endDate = date;
}
if ([date compare:startDate] == NSOrderedAscending)
{
startDate = date;
}
if ([date compare:endDate] == NSOrderedDescending)
{
endDate = date;
}
date = nil;
}