具有未定义类的可写键路径



我需要一组可写键路径来编辑变量,但该类未定义。我怎么能做这样的事情?

var properties: [ WritableKeyPath< AnyClass, Double > ]
properties.append( Class1.tag )
properties.append( AnyClass2.volume )
func setPropertie (keyIndex: Int, value : Double) {
    anyObject[keyPath: properties[keyIndex] ] = value
}

在这种情况下,尝试 append( \Class1.tag ( 得到此错误:类型 'AnyClass'(又名 'AnyObject.Type'(没有成员 'threshold'

你的WritableKeyPath<AnyClass,Double>AnyClass但你放置了特定于类的键路径。

Class1 AnyClass将无法访问其tag对象。
同样AnyClass2 AnyClass也将失去对其volume对象的访问权限。
因此,Class1.tagAnyClass2.volume不适用于WritableKeyPath<AnyClass,Double>

相反,您可以做的是:

var properties = [AnyKeyPath]()
properties.append(Class1.tag)
properties.append(AnyClass2.volume)

相关内容

  • 没有找到相关文章

最新更新