【问题标题】:In a Swift project, how to reference code that is a couple folders down to be in scope?在 Swift 项目中,如何引用几个文件夹内的代码?
【发布时间】:2020-10-01 10:15:58
【问题描述】:

我正在尝试按场景组织我的 Swift 项目。

我计划为每个场景创建一个文件夹,在该文件夹中放置场景委托,在子文件夹中放置视图和模型。像这样的:

Project
* Scene1Folder
  - Scene1Delegate.swift
  * Scene1Views
    - Scene1View1.swift

但是,这种结构似乎使Scene1View1.swift 文件超出了Scene1Delegate.swift 文件的范围。

这是 xcode 的屏幕截图,显示了我项目的这一部分的文件夹结构、场景文件夹及其子内容:

将我的视图文件夹从项目根目录移动到LookupScene 后,我的SceneDelegate.swift 文件无法再引用我的ContentView.swift 类。它显示了这个不在范围内的错误:

如何引用子文件夹中的代码,以便按照自己的方式组织项目?

更新:尽管 xcode 显示了超出范围的错误,但这似乎可以编译。似乎 swift 可以找到引用,即使 xcode 认为它无法找到。

【问题讨论】:

    标签: swift xcode


    【解决方案1】:

    项目导航器中的文件和“文件夹”(实际上是)的排列只是为了方便您。 “文件夹”不构成任何范围。 每个 Swift 文件,无论它在项目导航器中的什么位置,对每个其他 Swift 文件都是可见的,只要它们都是同一个应用目标的一部分。

    【讨论】:

    • 您看到的错误似乎只是由“显示实时问题”(常规首选项窗格)引起的暂时错误。就个人而言,我喜欢保持关闭状态。
    猜你喜欢
    • 2010-10-09
    • 2016-12-12
    • 2022-01-13
    • 1970-01-01
    • 2020-05-17
    • 2016-04-30
    • 2016-06-30
    • 2021-10-18
    • 1970-01-01
    相关资源
    最近更新 更多