繁体   English   中英

Swift Package 中的文件 scope

[英]Files in Swift Package out of scope

我使用与该项目相关的 swift 包(我们称之为“Foo”)创建了一个基本项目。

我尝试从AppDelegateFoo().text打印“hello world”,但出现错误:

"Cannot call value of non-function type 'module<Foo>' "

然后我尝试向这个 package 添加一个新结构或 class 并且我收到一个错误: "Cannot find {ObjectName} in scope" Foo 内的测试全部通过。 看起来我错过了一些步骤。

您可能忘记将 Swift Package 导入AppDelegate 尝试将 package 的等效项放在AppDelegate的顶部。

import Foo

根据这个Github 问题,(如果您使用的是 CocoaPods,您没有在问题中说明。)您必须将 ZEFE90A8E604A7C840E88ZD03A67F6B78D 中的类/结构公开。

您可能还必须像这样尝试:

Foo.bar()

Foo是您的 package 名称, bar是 class 或其中的结构。

不要将模块与公共 class(或结构)混淆。 这就是你在这里所做的事情:

我使用与该项目相关的 swift package(我们称之为“Foo”)创建了一个基本项目,并尝试从Foo().text打印“hello world”

Foo()意味着有一个名为 Foo 的公共类/结构。 在那儿? 我不这么认为。 您可能有一个名为 Foo 的package ,您可以将其import 但这并不意味着 Foo package 有一个名为 Foo 的公共 class(或结构)

例如,您可能会在 package 中看到:

struct Foo {
    var text = "Hello, World!"
}

但这并不意味着您可以简单地import Foo然后谈论Foo().text ,因为这个 Foo 不是公开的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM