{
NSDate *endDate = [NSDate dateWithTimeIntervalSinceNow:15];
NSModalSession session = [NSApp beginModalSessionForWindow:window];
[window orderFrontRegardless];
for (;;) {
if ([NSApp runModalSession:session] != NSRunContinuesResponse ||
![window isVisible] ||
([(NSDate *)[NSDate dateWithTimeIntervalSinceNow:0] compare:(NSDate *)endDate] == NSOrderedDescending)) {
break;
}
}
[NSApp endModalSession:session];
[window orderOut:nil];
}
Blogged with Flock
Tags: cocoa, modal window, time