Переход от NSMutableArray к AnyHashable - PullRequest
0 голосов
/ 11 апреля 2020

Я сейчас перевожу проект из Objective C в Swift 5.2. У меня есть следующая строка в Objective C: NSMutableArray *arrNewList = [[responseObject objectForKey:@"Result"] mutableCopy];, которая возвращает JSON следующим образом:

{
        TotalLike = 31;
        Totalcomment = 18;
        "author_name" = "Scott Edward";
        "conv_message" = "They're spending the weekend at her mountain lodge";
        "conv_person_name" = Story;
        "conv_subscribe" = 1;
        "paid_free" = 0;
        "story_character" =         (
            Story,
            Abe,
            Kay
        );
        "story_cover" = "upload/story/image_5885bf86d2d1020170123023206.jpg";
        "story_id" = 9F6468ADD60FC678;
        "story_subtitle" = "";
        "story_title" = "Creepy House";
    }

При использовании Swiftify и исправлениях, предложенных Xcode, я получаю следующую строку: код:

var arrNewList = ((responseObject as? [AnyHashable : Any])?["Result"]) as? [AnyHashable]

, который возвращает json в следующем формате:

Optional([AnyHashable(
[AnyHashable("conv_person_name"): AnyHashable("Story"), 
AnyHashable("story_id"): AnyHashable("9F6468ADD60FC678"), 
AnyHashable("story_title"): AnyHashable("Creepy House"), 
AnyHashable("paid_free"): AnyHashable("0"), 
AnyHashable("author_name"): AnyHashable("Scott Edward"), 
AnyHashable("Totalcomment"): AnyHashable("18"), 
AnyHashable("TotalLike"): AnyHashable("31"), 
AnyHashable("story_subtitle"): AnyHashable(""), 
AnyHashable("story_character"): AnyHashable([AnyHashable("Story"), 
AnyHashable("Abe"), AnyHashable("Kay")]), 
AnyHashable("conv_message"): AnyHashable("They're spending the weekend at her mountain lodge"): AnyHashable("1"), 
AnyHashable("story_cover"): AnyHashable("upload/story/image_5885bf86d2d1020170123023206.jpg")]), AnyHashable([AnyHashable("paid_free"): AnyHashable("0"), 

Всякий раз, когда я пытаюсь получить доступ к этому JSON, все мое приложение зависало. Я подозреваю, что это происходит из-за приведения «as [Anyhashable: any]», но мне не удалось сделать это правильно. Кто-нибудь может мне помочь, пожалуйста?

Спасибо!

...