どのように.minute()と.hour()をObjective-Cに変換しますか?.hour()と.minute()をSwiftからObjective-Cに変換するには?
func nearestHour() -> Int {
let halfHour = NSDate.minuteInSeconds() * 30
var interval = self.timeIntervalSinceReferenceDate
if self.seconds() < 30 {
interval -= halfHour
} else {
interval += halfHour
}
let date = NSDate(timeIntervalSinceReferenceDate: interval)
return date.hour()
}
私はこれを試してみました:
- (int) nearestHour {
NSInteger halfHour = [NSDate minuteInSeconds].intValue * 30;
NSTimeInterval interval = [self timeIntervalSinceReferenceDate];
if ([self seconds] < 30) {
interval -= halfHour;
}
else {
interval += halfHour;
}
NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate: interval];
return [date hour];
}
私はこれらの行に次のエラーを取得:NSDateには目に見える@interfaceはセレクタ秒を宣言していない
if ([self seconds] < 30) {
を。
return [date hour];
NSDateの表示されない@interfaceは、セレクタ時を宣言します。
'NSDate'ためのドキュメントを見てください。 'seconds'や' hour'といったメソッドはありません。 Swiftコードのカスタム関数でなければなりません。 – rmaddy
[こちらのリンクを参照してください](http://stackoverflow.com/questions/743140/how-do-i-get-the-current-hour-using-cocoa)これはあなたのコンバージョンに明確な方法を示しています[Referこのリンクも参照してください。[1] [1]:http://stackoverflow.com/questions/1739383/convert-seconds-integer-to-hhmm-iphone –
私は実際にすでにそのリンクを見ていました。迅速なコードにはhour()やseconds()という名前のカスタム関数がないことがわかっているので、私は驚いた。それが私の質問に答えたいのです。 –