Я не углублялся в эту проблему глубоко, поэтому извините, если мой ответ немного неуместен.
В этом случае я бы использовал NSDate.Используя NSDateFormatter я бы преобразовал текстовые данные xml в NSDate.Изменение значения NSDate, когда каждый тик NSTimer, корректно.И немного кода, потому что символы NSDateFormatter иногда создают беспорядок:
NSString *xmlDateFormat = @"yyyyMMdd HH:mm:ss";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:xmlDateFormat];
NSDate *yourDate = [dateFormatter dateFromString:timeStringFromXml];
Это для чтения из xml.Для изменения значения NSDate при отметке вы можете увидеть документ NSDate.А для отображения значения в метке я бы арифметически вычислял каждое значение и показывал его с помощью случайного NSString:
[NSString stringWithFormat:@"%dday %dh %dm %ds", days, hours, minutes, seconds];