代码之家  ›  专栏  ›  技术社区  ›  Cruz

当我在Swift 4中明确使用内部访问控制级别时

  •  2
  • Cruz  · 技术社区  · 8 年前

    我有一个关于内部访问控制级别的问题

    Internal 是 default Swift中的访问控制级别

    所以我认为 internal 应删除访问控制

    是否有使用 内部的 用Swift显式访问控制?

    何时或如何使用 内部的 Swift中的访问控制?

    3 回复  |  直到 8 年前
        1
  •  2
  •   J. Doe    8 年前

    我找到一个箱子 internal 需要明确添加:

    public internal(set) var myInt = 0
    

    省略 内部的 关键字导致编译错误。

        2
  •  1
  •   ekscrypto    8 年前

    根据文件:

    默认访问级别 代码中的所有实体(有几个 异常,如本章后面所述)具有默认访问权限 如果不指定显式访问级别,则为内部级别 你自己。因此,在许多情况下,您不需要指定 代码中的显式访问级别。

    资料来源: https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html

    正如您所提到的,使用“internal”关键字除了明确表示将来不应在没有仔细考虑的情况下公开某个函数之外,没有任何效果。此时,使用“internal”关键字更多的是记录和注释代码。

        3
  •  0
  •   gunas    8 年前

    当使用默认的内部访问级别时,不需要显式添加内部。 这意味着SomeInternalClass和someInternalConstant可以在不使用显式访问级别修饰符的情况下编写,并且仍然具有internal的访问级别。然而,关键字“internal”只是用于开发人员理解。

    class SomeInternalClass {}              // implicitly internal
    let someInternalConstant = 0            // implicitly internal