【发布时间】:2020-01-08 14:58:03
【问题描述】:
我正在尝试创建一个基本上是单个 SwiftUI 视图的 Swift 包。我在这里创建了一个示例来显示正在发生的事情。打包的功能无关紧要,我只是在视图中包含了一些@State 和@Binding 变量,这样我得到的错误与我在真实包中遇到的错误相同。 View 结构是这样的。
import SwiftUI
public struct SampleView: View {
@Binding var myNum:Int
@State var fixedText:String = ""
var myText = ""
var optional: String?
public var body: some View {
VStack {
if optional != nil {
Text(optional!)
}
Text(myText)
Text("Parent number: \(myNum)")
Text("\(fixedText)")
Button("Increment num") {
self.myNum += 1
}.foregroundColor(.blue)
Button("Change Parent Text") {
self.fixedText = "Only Changes Child"
}.foregroundColor(.blue)
}.background(Color.red)
.foregroundColor(.white)
}
}
当我添加包并将其导入项目中的一个视图时,我应该能够使用 Do something like this as I can do if the View is not a Swift Package:
SampleView(myNum: $myNum,
fixedText: parentText,
myText: "Display Text Passed from parent")
但是,我没有得到代码完成并且我得到了错误:
'SampleView' initializer is inaccessible due to 'internal' protection level
我在 SampeView 结构上尝试了各种初始化,但不断收到各种不同的错误。我只是不明白如何在这里修复访问级别。任何人都可以帮忙吗?截图也在这里。
【问题讨论】:
标签: swiftui swift-package-manager