Swift: разбор JSON не отображается в UILabel, но отображается в окне вывода с помощью Alamofire. - PullRequest
0 голосов
/ 03 июля 2018

Я новичок в кодировании и, похоже, не показывает ежедневные кавычки на UILabel. Использование http://quotes.rest/qod.json консоль вывода показывает результат, но в UILabel ничего нет. Любая помощь очень ценится.

Ниже приведен формат JSON с веб-сайта:

{
    "success": {
        "total": 1
    },
    "contents": {
        "quotes": [
            {
                "quote": "You make a living by what you earn",
                "length": "69",
                "author": "Winston  Churchill",
                "tags": [

                    "inspire"
                ],
                "category": "inspire",

                "id": "XZiOy4u9_g4Zmt7EdyxSIgeF"
            }
        ],
        "copyright": "2017-19 theysaidso.com"
    }
}

Код Swift, который я использую для анализа выше JSON:

import Alamofire
import SwiftyJSON


class DailyQuotes {


    private var _quotes: String!
    private var _author: String!

    var quotes: String
    {
        if _quotes == nil
        {
            _quotes = ""
        }
        return _quotes
    }



    /// Downloading Current Weather Data


    func downloadQuotes(completed: @escaping DownloadComplete){


            Alamofire.request(QuotesDaily).responseJSON 
{ (response) in

                let result = response.result
                print(result.value)
                let json = JSON(result.value!)


             self._quotes = json["contents"]["quotes"]["quote"].stringValue

                completed()
            }
             }


} 

В ViewConrtroller.swift:

func  updateQuotesUI()
{
   quoteLabel.text = dailyQuotes.quotes
    }

1 Ответ

0 голосов
/ 03 июля 2018

кавычки это массив

let arr = json["contents"]["quotes"].arrayValue
self._quotes = arr[0]["quote"].stringValue
...