Как преобразовать .minute () и .hour () в 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];
}
Я получаю следующие ошибки в этих строках:
if ([self seconds] < 30) {
no visible @interface для NSDate объявляет секунды селектора.
return [date hour];
no visible @interface для NSDate объявляет час селектора.
NSDate
. Нет таких методов, какseconds
илиhour
. Они должны быть настраиваемыми функциями в вашем коде Swift. - person rmaddy   schedule 14.04.2016minuteInSeconds
метода наNSDate
, но ваш код вызывает такой метод. Это также должен быть какой-то метод категорий. - person rmaddy   schedule 14.04.2016