У меня есть категория на NSDate, и я хочу реализовать некоторые функции для манипулирования датой, например:
NSDate *thedate = [NSDate date];
[thedate setToMidnight];
, поэтому у меня есть функция в NSDate, например:
-(void)setToMidnight {
some code with calendars and comps
self = theNewDate;
}
Это работает внутри функции, но вне этой функции-члена дата не изменилась.
Я понимаю эту неисправность, потому что мне сказали, что self - это просто локальная переменная, созданная внутри функции-члена.
Итак, как я могу сделать эту работу?
Конечно, я мог бы написать:
thedate = [thedate dateAsMidnightDate]
or thedate = [NSDate dateAtMidnightFromDate:thedate]
но я чувствую, что внутри экземпляра класса это имеет больше смысла, поскольку я не хочу изменять дату, а просто настраиваю некоторые значения ранее созданного.