objective-c - 使 NSDate 可变

标签 objective-c nsdate

有没有办法在不创建 NSDate 的新实例的情况下更改 NSDate 的值? 我想保持指针不变,只替换底层数据。

第一个想法是子类化 NSDate 并添加一个保留 NSDate 值的属性...

最佳答案

我理解推理,但我认为可变子类的想法很危险:

问题是框架不希望 NSDate 实例发生变化。因此,他们不会在 NSString 或其他符合 NSMutableCopying 的类的情况下复制它们。

此外,NSDate 可能通过保留相同的实例并返回它来实现 copy。您必须覆盖此行为,这同样可能是意外的。

NSDate(类似于NSNumber)的思想是表示一个不可变的值。很难想象框架如何以及在何处依赖于这一事实。

关于objective-c - 使 NSDate 可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22218856/

相关文章:

iphone - 检查文件是否更新

objective-c - UITextView contentoffset 更新不起作用

objective-c - 数组枚举期间应用程序崩溃

iphone - 将 NSDate 的描述转换为 NSDate?

ios - 2 NSDates 之间的差异,并将结果除以 Int - Swift

iOS7 崩溃 - PopViewController 在 Landscape ViewController 上调用

objective-c - cocos2d 改变 Sprite 纹理

iphone - 查找两个日期之间的精确差异

ios - NSString 到 NSDate 格式对话问题

swift - NSDate 返回错误的周数