web-dev-qa-db-ja.com

iPhone iOS 4addTimeIntervalは非推奨

ローカル通知の作成にaddTimeIntervalを使用していますが、現在は非推奨になっているようです(iOS4)。

私のコード:

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)

代わりに何を使用すればよいですか?ありがとう。

34
Iñigo Beitia

メソッドの名前が -dateByAddingTimeInterval:

localNotif.fireDate = [now dateByAddingTimeInterval:timeInterval];

Swift 2.2:

localNotif.fireDate = now.dateByAddingTimeInterval(timeInterval)

In Swift 3:

localNotif.fireDate = now.addingTimeInterval(timeInterval)
// or simply
localNotif.fireDate = now + timeInterval
93
kennytm

それを試してください:

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];
}
11
Reinhard