Проблема в том, что вы написали это:
startTime = blah blah blah;
Вы устанавливаете переменную экземпляра startTime
напрямую. Если вы сделаете это вместо:
self.startTime = blah blah blah;
тогда компилятор превратит это в:
[self setStartTime:blah blah blah];
, и автоматически сгенерированный метод сеттера сделает сохранение за вас.
Если вы сделаете это:
@synthesize startTime = _startTime;
тогда переменная экземпляра будет иметь имя _startTime
, что упрощает использование свойства вместо непосредственного присвоения переменной экземпляра.