有没有办法在不创建 NSDate 的新实例的情况下更改 NSDate 的值? 我想保持指针不变,只替换底层数据。
第一个想法是子类化 NSDate 并添加一个保留 NSDate 值的属性...
最佳答案
我理解推理,但我认为可变子类的想法很危险:
问题是框架不希望 NSDate
实例发生变化。因此,他们不会在 NSString
或其他符合 NSMutableCopying
的类的情况下复制它们。
此外,NSDate
可能通过保留相同的实例并返回它来实现 copy
。您必须覆盖此行为,这同样可能是意外的。
NSDate
(类似于NSNumber
)的思想是表示一个不可变的值。很难想象框架如何以及在何处依赖于这一事实。
关于objective-c - 使 NSDate 可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22218856/