是否可以创建可以使用显式参数标签调用的下标?
struct MyType {
subscript (label: Bool) -> String? {
return nil
}
}
let test = MyType()
let value = test[label: true]
新的密钥路径功能看起来像它,但可能是编译器的魔法,但尚未公开:
let value = someThing[keyPath: \.property]
谢谢!
答案 0 :(得分:1)
subscript
中默认不使用外部参数标签,因此与普通函数不同,如果要使用外部参数标签,则需要明确指定。
struct MyType {
subscript(label label: Bool) -> String? {
return nil
}
}
let test = MyType()
let value = test[label: true]