Swift 编译器错误:“类型‘Watermark’不符合协议‘ViewModifier’”

Jon*_*ann 2 xcode swift swiftui viewmodifier

我想添加一个 ViewModifier,如 Paul Hudson 的以下教程中所述(https://www.hackingwithswift.com/books/ios-swiftui/custom-modifiers)。我的视图修改器是:

import SwiftUI

struct Watermark: ViewModifier {
    var text: String

    func body(content: Content) -> some View {
        ZStack(alignment: .bottomTrailing) {
            content
            Text(text)
                .font(.caption)
                .foregroundColor(.white)
                .padding(5)
                .background(Color.black)
        }
    }
}

extension View {
    func watermarked(with text: String) -> some View {
        self.modifier(Watermark(text: text))
    }
}
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

在此输入图像描述

我尝试在另一个项目中重现这一点,但它只是按预期工作。我已经尝试清理构建文件夹,删除派生数据,重新启动 Xcode,重新启动 Mac。

关于如何解决这个问题有什么想法吗?

Ale*_*zPG 13

我之前遇到过这个错误,正如 @Asperi 所说,这是命名冲突问题。Content项目中可能还有另一个实体。

以及图片供参考:

  • Self.Content 为我解决了这个问题 (5认同)