我有一个[String : NSObject]
字典,在将其记录到文件记录器之前要对其进行清理。
字典的格式如下:
{
"login" : {
"cred": {
"pass": "mySuperSecretPassword"
}
}
}
我遇到了一个解决方案,但这非常丑陋。
func sanitize(dict dictionary:[String: NSObject]?) -> [String: NSObject]? {
if var d = dictionary {
if var login = d["login"] as? [String: NSObject] {
if var cred = login["cred"] as? [String: NSObject]{
if let _ = cred["pass"] as? String{
cred["pass"] = "REDACTED" as NSObject
}
login["cred"] = cred as NSObject
}
d["login"] = login as NSObject
}
return d
}
return nil
}
考虑到Swift没有字典的本机键路径,我希望看到一个更干净,更惯用的解决方案。