如何获取实现协议的类的包?在这里,我尝试使用self.dynamicType
假设我有一个可能的颜色列表,它存储在我的仓库中作为键值列表,如何在XCTest中运行协议时访问它(NSBundle.mainBundle()不起作用)?
protocol Car {
func possibleColors() -> [String]
}
extension Car {
func possibleColors() -> [String]{
let bundle = NSBundle(forClass: self.dynamicType)
if let path = bundle.pathForResource(unitName, ofType: "colors") {
let keyValueList = NSDictionary(contentsOfFile: path) {
return keyValueList.allKeys() as! [String]
}
}
return [String]()
}
}
此行不起作用:
let bundle = NSBundle(forClass: self.dynamicType)
一个有效的方法是获取捆绑包,如果可以在没有获得类的情况下完成,那就是一个好的答案。到目前为止,我们找不到办法。
答案 0 :(得分:3)
这个怎么样?
var columnSelected = "name";
var attribute = "John";
svg.selectAll("circle").style("opacity",function(d){
if(d.name == attribute)
{
return 0;
}
})