Это подозрительно:
if ([[fileDate earlierDate:self.metaData.lastModifiedDate]isEqualToDate:fileDate]) {
Это всегда имеет значение true, что для меня означает, что либо self.metaData.lastModifiedDate
равно fileDate
, либо fileDate
всегда является более ранним из двухдаты.
Честно говоря, у меня проблемы даже с анализом этих условий.Что произойдет, если вы попытаетесь оценить это по-другому?например, вот так:
if (nil == fileDate || fileDate.timeIntervalSinceReferenceDate < self.metaData.lastModifiedDate.timeIntervalSinceReferenceDate)
{
[self.restClient loadFile:[NSString stringWithFormat: @"%@/%@", destDir, filename]
intoPath:address];
NSLog(@"Downloading");
}
else if (nil != fileDate && fileDate.timeIntervalSinceReferenceDate > self.metaData.lastModifiedDate.timeIntervalSinceReferenceDate) {
[[self restClient] uploadFile:filename toPath:destDir fromPath:address];
NSLog(@"Uploading");
}
Кроме того, если даты совпадают, я полагаю, вы не хотите делать ни того, ни другого, верно?