[英]Files in Swift Package out of scope
我使用与该项目相关的 swift 包(我们称之为“Foo”)创建了一个基本项目。
我尝试从AppDelegate
的Foo().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.