dynamicMemberLoookup ExpressibleByStringLiteral参数swift

时间:2019-06-26 10:51:34

标签: ios swift

我创建了一个@dynamicMemberLookup模型,但收到一个我不理解的错误。关于如何解决这个问题有帮助吗?

struct Blog {
    let title: String
    let url: URL
}

@dynamicMemberLookup
struct Blogger {
    let name: String
    let blog: Blog

    subscript<T>(dynamicMember keyPath: KeyPath<Blog, T>) -> T {
        return blog[keyPath: keyPath]
    }
}

错误

@dynamicMemberLookup attribute requires 'Blogger' to have a 'subscript(dynamicMember:)' method with an 'ExpressibleByStringLiteral' parameter

1 个答案:

答案 0 :(得分:2)

我认为您正在使用Swift 4.2;已在Swift 5.1中实现了KeyPath Member查找;这是proposal

目前,您应该使用Swift 5.1随附的Xcode 11。

相关问题