I don’t want to set up a timer that “fires” (and does something) after a certain amount of time has passed.
Therefore, I’m not interested in the NSTimer class and its methods.
All I’m interested in is counting the time that passes by while, for example, some while-loop is executing. I could use NSDate as follows I guess :
NSDate currentDate = [[NSDate alloc] init];
while(someConditionIsTrue)
{
// executing..
}
timeElapsed = [self timeIntervalSinceDate:currentDate];
NSLog(@"time elapsed was: %i", timeElapsed);
However, if I understand correctly, timeIntervalSinceDate: can only count seconds.
Is there a way I can count the time that is passing by in milliseconds?
In other words, what is the smallest unit I can count passing time in and how ?
Your second approach is correct. Save the current date in an
NSDateobject and usetimeIntervalSinceDate:to get the passed time since then. The result will be of typeNSTimeIntervalwhich is a floating point number. It specifies time differences in seconds, but since it’s a floating point number it can store fractions of a second as well.