当前位置: 首页 > 面试题库 >

如何在Swift中创建可导入模块?

长孙高远
2023-03-14
问题内容

我已经通读了Apple的Swift文档,却对如何创建模块或如何将类或结构成员定义为私有或公共一无所知。

语法中有对import语句的引用,但找不到有关它做什么或如何使用的信息。

有谁知道我在哪里可以找到这个?


问题答案:

更新资料

您可以使用框架对快速项目进行模块化。

我们通过为每个模块创建单独的框架项目并通过Xcode工作区将它们链接来实现模块化。当我们将组件分为不同的项目时,它看起来更加自然,并且还确保了模块之间只有单向通信。开发人员可以在隔离上进行工作/测试,而无需考虑其他模块。

默认情况下,在框架内创建的类/结构/等将具有internal访问控制类型,因此仅在模块内可见。为了使其在模块外部可见,您可以使其public

有关访问控制级别的更多信息,请点击此处

最新的Xcode 6 beta更新(beta 4)使访问控制迅捷

Swift启用访问控制

Swift访问控制具有三个访问级别:

  • 私有 实体只能从定义它们的源文件中访问。
  • 内部 实体可以在定义它们的目标内的任何地方访问。
  • *可以从目标内的任何位置以及导入当前目标模块的任何其他上下文中访问 *公共 实体。



 类似资料:
  • 问题内容: 如何在Swift中创建不可变数组? 简要阅读文档会建议您可以做 但是可悲的是,这实际上产生了一个可变的,固定大小的数组。这种可变性通常会产生令人困惑的别名和令人怀疑的别名,并且函数会改变其参数: 没有比C好多少了。 如果我想要不变性,最好的选择是将其包装成这样: 好像疯了。我在这里想念什么? 更新(2015-07-26): 这个问题可以追溯到Swift的早期。从那以后,对Swift进行

  • 问题内容: 我一直在四处搜寻有关如何使用Swift 2.0为MapView制作MKCircle注释的良好解释,但我似乎找不到足够的解释。有人可以张贴一些示例代码来显示如何创建MKCircle批注吗?这是我用来制作地图并获取坐标的代码。 问题答案: 将展示有关如何使用xcode 8.3.3的swift 3在地图视图上创建圆形叠加层的分步方法 在您的主故事板文件中,将地图工具包视图拖到故事板的场景(视

  • 问题内容: 我一直在努力在Swift中创建UIAlertView,但由于某种原因,由于出现此错误,我无法正确执行该语句: 找不到接受提供的参数的’init’的重载 这是我的写法: 然后调用它,我正在使用: 截至目前,它崩溃了,我似乎无法正确理解语法。 问题答案: 从班级: //不推荐使用UIAlertView。改用 UIAlertController 和UIAlertControllerStyle

  • 我一直在Swift中创建一个UIAlertView,但由于某种原因,我无法得到正确的语句,因为我得到了以下错误: 找不到接受所提供参数的“init”的重载

  • 问题内容: 我是快速编程的新手。我需要创建一个纯swift框架,并将其导入 到我现有的纯swift项目中。当我尝试导入swift框架时,出现 以下错误消息: Test.h Asdf.h myModule-Swift.h 构建框架后,我在现有项目中添加了框架并得到了这个项目结构和导入问题屏幕 我究竟做错了什么?感谢帮助! @findall评论答案-我试图将所有框架文件添加到我的项目根文件夹和项目文件

  • 问题内容: 我想暂时暂停我的应用。换句话说,我希望我的应用执行代码,但是在某个时候暂停4秒钟,然后继续执行其余的代码。我怎样才能做到这一点? 我正在使用Swift。 问题答案: 如果要从UI线程调用该方法,则可以考虑使用或调度计时器,而不是进行睡眠(这会锁定您的程序)。 但是,如果您确实需要延迟当前线程: 这使用UNIX中的功能。