开发者

Trigger on scheduled events

开发者 https://www.devze.com 2023-01-23 00:14 出处:网络
I got an schedule in an plist-file, reading the events (read: times) is not the problem. The pr开发者_JAVA百科oblem is comparing the events with the current time.

I got an schedule in an plist-file, reading the events (read: times) is not the problem. The pr开发者_JAVA百科oblem is comparing the events with the current time. I am somewhat new to iPhone-development so it might be an easy answer for this but here it goes: scheduleTime isEqualToString currentTime - well that does the trick almost... What I need is: if(scheduleTime>currentTime && scheduleTime

Is the best thing 10 if after each other or should I use something else? switch?

TIA for all you answer me!


Use

- (NSComparisonResult)compare:(NSDate *)anotherDate

for any NSDate objects. It will return a NSComparisonResult.

enum {
  NSOrderedAscending = -1,
  NSOrderedSame,
  NSOrderedDescending
};
typedef NSInteger NSComparisonResult;


Time to give something back... here is my end result of my own question thanks to Paul I solved it.

NSDateFormatter *formattedTime = [[NSDateFormatter alloc] init];
[formattedTime setDateFormat:@"HH:mm"];

NSDate *now = [[NSDate alloc] init];

NSString *currentTime = [formattedTime stringFromDate:now];
NSString *scheduledTime = @"12:00";

[formattedTime release];
[now release];

NSComparisonResult result = [currentTime compare:scheduledTime];

switch (result)
{
    case NSOrderedAscending: NSLog(@"%@ is before %@", currentTime, scheduledTime); break;
    case NSOrderedDescending: NSLog(@"%@ is after %@", currentTime, scheduledTime); break;
    case NSOrderedSame: NSLog(@"%@ is same %@", currentTime, scheduledTime); break;
    default: NSLog(@"erorr dates %@, %@", currentTime, scheduledTime); break;
}
0

精彩评论

暂无评论...
验证码 换一张
取 消