我正在尝试将目标 c 函数转换为 swift 。
+(NSString *)extractNameWithDictionary:(NSDictionary *)dictionary
{
NSDictionary *assets = dictionary[@"assets"];
NSDictionary *item = dictionary[@"item"];
NSArray *facilityAssets = item[@"assets"];
NSDictionary *facilities = facilityAssets[0];
NSDictionary *asset = assets[facilities[@"content"]];
return asset[scs_name] ? : @"";
}
至
func extractNameWithDictionary(dictionary: [AnyHashable : Any]) -> String {
guard let assets = dictionary["assets"] as? [AnyHashable : Any],
let item = dictionary["item"] as? [AnyHashable : Any],
let facilityAssets = item["assets"] as? [Any],
let facilities = facilityAssets[0] as? [AnyHashable : Any],
let asset = assets[facilities["content"]] else { return "" }
return asset[scs_name] ?? ""
}
但在最后一个常量中: let assets = assets[facilities["content"]] 我得到:
无法使用“Any?”类型的索引为“[AnyHashable:Any]”类型的值下标
有什么帮助吗?