模块是代码分发的单个单元—一个框架或应用程序,是作为单个单元构建和交付的,并且可以由另一个模块使用Swift的import关键字导入。
Xpre中的每个构建目标(例如应用程序捆绑包或框架)在Swift中都被视为一个单独的模块。如果您将应用程序代码的各个方面组合为一个独立的框架(可能是在多个应用程序之间封装和重用该代码),那么当在应用程序中导入和使用该框架时,您在该框架中定义的所有内容都将成为单独模块的一部分,或在其他框架中使用它时。
如文档所示,该模块是应用程序或框架(库)。如果您使用
A和创建类的项目
B,则它们是同一模块的一部分。
同一项目 中的任何其他类都可以从这些类继承。但是,如果您将该项目导入另一个项目,则该另一个项目中的类将不能成为subclass
A或
B。为此,您必须
open在其声明之前添加指标。
基本上,如果您使用一个应用程序,那么您将使用一个模块,除非声明为
private或
fileprivate,否则这些类可以彼此子类化。
编辑
让我们在模块(项目) Module1中 具有以下类:
class A {}由于此类不是
open,因此只能在同一模块内进行子类化。这意味着以下课程:
class B: A {}只能 在 Module1 的同一项目中编写。
如果将 Module1 添加为项目 Module2 的依赖项,请尝试执行以下操作:
import Module1class C: A {}它不会编译。这是因为class
A不是
open(换句话说,它具有访问权限
public或更少的访问权限),并且它不与属于同一模块
C。
A属于
Module1 ,
C属于 Module2 。
注意
import关键字将依赖项模块导入当前模块。如果您
importUIKit在项目中编写代码,则是告诉编译器您要在模块
UIKit中使用模块。
import没有定义当前模块。当前模块是当前项目。
import UIKit在文件的开头添加不会更改,也不会定义文件所属的模块。它只是告诉编译器您要在该文件中使用
UIKit模块中的代码。



