"% @" в вашей строке NSLog ожидает объект, но вы прошли в двойном.Попробуйте:
NSLog(@"your age %lf", timeSince);
В частности, "% @" пытается вызвать -message для аргумента.Поскольку ваш аргумент является двойным, среда выполнения в конечном итоге пытается трактовать двойной как указатель и разыменовывает его (в результате получается ваш EXC_BAD_ACCESS).
Что касается управления памятью, то у вас утечка comps
и g
.В конце программы добавьте:
[comps release];
[g release];
Хотя это не приводит к вашей ошибке (и не наносит никакого вреда, когда вы выходите из системы, а ОС восстанавливает память.Objective-C, однако, не освобождая ваши объекты в других местах, приведет к утечкам)