Например,
вот мой код в быстром стиле, а затем эквивалент в объекте C. Я понимаю последствия для безопасности, но мне интересно, создал ли кто-нибудь расширение, которое может справиться с этим?
Swift
if tweetDict.value(forKeyPath: "extended_entities.media") != nil {
let mediaDict = tweetDict.value(forKeyPath: "extended_entities.media") as! NSArray
let firstObject = mediaDict.firstObject as! NSDictionary
if firstObject.value(forKeyPath: "type") as! String == "video" {
if let videoInfo = firstObject.value(forKeyPath: "video_info") as? NSDictionary {
if let variants = videoInfo.value(forKeyPath: "variants") as? NSArray {
if let firstVariant = variants[0] as? NSDictionary {
if let videoURL = firstVariant.value(forKeyPath: "url") as? String {
}
}
}
}
}
}
Obj-C
NSString *videoURL = tweetDict[@"extended_entities"][@"media"][0]["video_info"]["variants"][0]["url"]