Swift - 导入我的快速课程

M Z*_*tra 21 import xcode class swift

这个问题被多次询问,但我无法找到解决问题的正确方法.我正在尝试导入我的Player.swiftMainScene.swift(我使用Cocos2D - SpriteBuilder来设置项目;现在使用Xcode).

这是我的文件夹结构:

在此输入图像描述

我试着用import Player;import Player.swift;,但是当我尝试,我得到这个错误:没有这样的模块"Player.swift"

如何正确导入?

谢谢!

顺便说一下,我是Swift的初学者,所以不要指望我知道所有条款

Bha*_*ary 43

您不需要在Swift中显式导入文件,因为它们通过项目全局可用.如果要访问方法或属性Player class,可以直接在MainScene.Swift文件中创建Player类的对象并可以访问它. e.g var objPlayer = Player()

  • 仅供参考,我创建了一个文件夹,但自动链接不起作用。我不得不将它们移到一个组中,然后它起作用了。 (3认同)

Hit*_*nki 25

没有必要导入swift类以在其他swift类中使用.它们可以自动使用.

在Swift中,您只能导入模块,例如UIKit,MapKit等任何框架,如下所示.你不能导入swift类.

import UIKit
import MapKit
Run Code Online (Sandbox Code Playgroud)

只需确保选择在您尝试使用的目标中使用它.

查看下面的图片了解更多信息.

在此图像中,我HomeViewController.swift被选中在AutolayoutDemo模块中使用. 在此输入图像描述

在下面的图像中,我有一个未选中AutolayoutDemo的课程模块DetailsViewController.swift.在此输入图像描述

所以现在开始我将尝试使用DetailsViewController编译器将给我错误如下图所示HomeViewController. 在此输入图像描述

  • 请注意,如果您确实想要,您_可以_导入单个类 - 请参阅 Nick Fox 的答案。 (2认同)

Nic*_*Fox 9

说到 Swift 导入,有两种情况:

1)要导入的类型在模块中

在这种情况下,不需要导入语句。只要类型不是privateor fileprivate,就可以直接访问。

2) 要导入的类型在模块之外

您可以使用以下方法导入整个模块:

import ModuleName
Run Code Online (Sandbox Code Playgroud)

如果只想从模块导入特定类型或函数,可以使用以下格式执行此操作:

import kindOfThing ModuleName.Type
Run Code Online (Sandbox Code Playgroud)

其中kindOfThing是class/ struct/func /等..

可以在此处的NSHipster 上对此进行更深入的探索。