Есть ли способ получить доступ к вложенным значениям в NSArray и NSDictionary, который прост как Objective C? - PullRequest
0 голосов
/ 19 июня 2020
Например,

вот мой код в быстром стиле, а затем эквивалент в объекте 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"]
...