iPhone iOS 4 addTimeInterval устарела - PullRequest
34 голосов
/ 16 июня 2010

Я использую 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)

Что я должен использовать вместо этого? Благодарю.

Ответы [ 2 ]

93 голосов
/ 16 июня 2010

Метод был переименован в -dateByAddingTimeInterval:.

localNotif.fireDate = [now dateByAddingTimeInterval:timeInterval];

В Swift 2.2:

localNotif.fireDate = now.dateByAddingTimeInterval(timeInterval)

В Swift 3:

localNotif.fireDate = now.addingTimeInterval(timeInterval)
// or simply
localNotif.fireDate = now + timeInterval
11 голосов
/ 27 ноября 2010

попробуйте это:

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];
}
...