34

我正在使用addTimeInterval创建本地通知,但它现在似乎已被弃用(iOS 4)。

我的代码:

localNotif.fireDate = [now addTimeInterval:timeInterval];

Xcode 的警告:

'addTimeInterval:' is deprecated (declared at /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSDate.h:27)

我应该改用什么?谢谢。

4

2 回答 2

93

该方法已重命名为-dateByAddingTimeInterval:.

localNotif.fireDate = [now dateByAddingTimeInterval:timeInterval];

在 Swift 2.2 中:

localNotif.fireDate = now.dateByAddingTimeInterval(timeInterval)

在斯威夫特 3 中:

localNotif.fireDate = now.addingTimeInterval(timeInterval)
// or simply
localNotif.fireDate = now + timeInterval
于 2010-06-16T15:50:07.897 回答
11

试试看:

NSDate *date = [NSDate date];     // current date
NSTimeInterval delta = 60 * 1;    // one minute later
if ([date respondsToSelector:@selector(dateByAddingTimeInterval:)]) {
date = [date dateByAddingTimeInterval:delta];
}
else {
   date = [date addTimeInterval:delta];
}
于 2010-11-27T12:19:04.603 回答