这是一个完全无声的问题,但我昨天花了2个小时试图让它发挥作用,我显然错过了一些非常基本的东西。
我需要做的是从用户输入日期/时间并重新计算90分钟以获得提醒。
有人可以发布一个示例计算,其中有一个包含用户输入的var和一个接收此计算结果的新var? (所有在Objective C中完成的用于iPhone应用程序)谢谢!
答案 0 :(得分:2)
我怀疑你可以这样做:
NSDate *alertDate = [userDate dateByAddingTimeInterval:-5400.0];
答案 1 :(得分:1)
我认为这应该有效:
NSDate * alarmDate = [NSDate dateWithTimeInterval:5400 sinceDate:userDefinedDate];
NSDate * now = [NSDate date];
NSTimeInterval wait = [now timeIntervalSinceDate:alarmDate];
[self performSelector:@selector(callAlarm) withObject:nil afterDelay:fabs(wait)];
虽然我也同意尼克,但是将你的工作添加得更有效率。
答案 2 :(得分:1)
假设您有UIDatePicker
,您的目标日期已经在NSDate
对象中。如果它来自另一个来源,你可能会在NSDate对象中结束它,可以通过NSDateFormatter
或其他方式从字符串开始。
从NSDate对象中,您可以获得相对于某个绝对日期的NSTimeInterval
。这是一个C原始类型(在实践中它是double
,但显然不会编码依赖于它)你可以直接进行算术运算。所以你可以直接减去90分钟。然后在NSDate上有各种+ dateWithTimeInterval...
类方法,允许您从结果中获取日期。