gpt4 book ai didi

objective-c - 为什么我应该为我自己的类添加前缀?

转载 作者:行者123 更新时间:2023-12-03 16:32:04 24 4
gpt4 key购买 nike

我知道 Objective-C 没有命名空间,而且我确实认为需要在库和框架中为类名添加前缀。但是在我自己的应用程序中为类名添加前缀的目的是什么?

最佳答案

添加前缀可以降低发生冲突的可能性。在 iOS 程序中,这种情况不太可能发生,因为您知道正在加载的大部分内容。但是,Apple 可能会向您直接或间接加载的框架添加一些类,那么您就会遇到问题。

发生这种情况的方式是,当发生冲突时,运行时将仅加载一个实现。因此,如果您请求新实例,您可能会返回其他开发人员实现的实例 (=CATASTROPHE)。

在 OS X 上,您有更多的机会动态加载。冲突确实会发生,而且遇到冲突并不难——尤其是在处理插件时。因此,这是一个很好的预防措施,特别是如果您的程序将或可能以 OS X 为目标。

我认为最好(最安全且易于迁移)使用前缀,并且在 OS X 和 iOS 中这样做都很重要。即使出于可重用性和库开发的目的,这也是一个好主意。目前我们建议使用 3 个字符,但 3 个字符前缀可能会导致冲突。如果您将其他库合并到您的程序中,那么您将有可能必须重命名一堆类 - 如果该库使用与您的库相同的名称。如今,我倾向于使用双前缀,例如 "ORG" + "Library""ORG" + "App “

同样,为通过 objc 类别添加的任何方法名称添加前缀也是一个好主意。

关于objective-c - 为什么我应该为我自己的类添加前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18699697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com