什么时候需要 NSCopying?

发布于 2024-08-27 19:09:22 字数 111 浏览 8 评论 0原文

我知道如果您的对象将用作 NSDictionary 中的键,则需要它。还有其他类似的情况需要 NSCopying 吗?

如果我认为我不需要我的模型对象符合 NSCopying,我可能是错的吗?

I know it's needed if your object will be used as a key in an NSDictionary. Are there any other times like this that NSCopying is required?

If I think I don't need my model objects to conform to NSCopying, am I probably wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

戏舞 2024-09-03 19:09:22

将 NSCopying 协议视为克隆例程的 Objective-C 版本。
如果调用者要克隆您的对象,您想要什么行为?如果您的对象仅由原始类型组成,那么您无需担心这一点。但是,如果您有任何复杂类型作为成员,您可能需要克隆/复制它们,而不是传递对它们的简单引用。

Think of the NSCopying protocol as the objective-C version of cloning routines.
If a caller was to clone your object, what is the behavior you would want? If your object is solely composed of primitive types, then you don't need to worry about this. But if you have any complex types as members, you might want to clone/copy them instead of passing simple references to them.

挥剑断情 2024-09-03 19:09:22

NSCopying 有着相当广泛的用途。每当一个对象拥有不应该与其他对象共享的东西时,您就需要一个副本。可变对象经常需要复制,尽管可能需要 NSMutableCopying 而不是 NSCopying。

NSCopying has quite broad usage. Anytime an object owns something it shouldn't share with other objects, you'll need a copy. Mutable objects often need to be copied, though NSMutableCopying might be needed instead of NSCopying.

蛮可爱 2024-09-03 19:09:22

当它被传递到复制属性或任何其他记录为复制其参数的方法时。

When it's being passed to a copy property or any other method that is documented as copying its argument.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文