gpt4 book ai didi

iphone - Objective-C 中的协议(protocol)命名空间

转载 作者:行者123 更新时间:2023-11-29 11:05:33 24 4
gpt4 key购买 nike

在苹果documentation 与类名不同,协议(protocol)名不具有全局可见性。他们生活在自己的命名空间中。

这是什么意思,因为文档没有详细说明。我已经尝试过并且我已经制作了两个具有相同名称的协议(protocol),但它们在不同的文件中,编译器显示警告重复协议(protocol)。当我在单个文件中import 两个协议(protocol)时,第一个协议(protocol)import 隐藏了其他协议(protocol)减速。所以首先导入的协议(protocol)方法有效。其他给出警告

那么这行是什么意思呢?我无法正确理解它。

最佳答案

在其他编程语言中,您可以在不同的目录或包中拥有相同的类名。

在 Objective C 中,类名是全局的,因此没有 namespace 的概念。名称必须是唯一的。不能有两个 Employee 类。

但对于协议(protocol),您可以在不同的文件中定义相同的协议(protocol),并且根据您导入的文件,您可以看到该协议(protocol)。

如果你不导入那个头文件,你就不知道那个协议(protocol)。 - 这可能是文档中说“协议(protocol)没有全局可见性”的意思

同时,如果您对同一协议(protocol)有两个定义,则只会遵循第一个。事实上,编译器会向您显示一个明确的警告。

关于iphone - Objective-C 中的协议(protocol)命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13786062/

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