簡體   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