I'm having some trouble with an array. I created an array called 'coins'
var coins = [Coin]()
then appended objects to it within a function
 func getCoinData() {
        AF.request("https://min-api.cryptocompare.com/data/top/mktcapfull?limit=10&tsym=USD", encoding: JSONEncoding.default).responseJSON { response in
            if let json = response.result.value{
                let responseDictionary = json as! [String : Any]
                let data = responseDictionary["Data"] as! [Any]
                for index in data {
                    let coin            = index as! Dictionary<String, Any>
                    let coinInfo        = coin["CoinInfo"] as! Dictionary<String, Any>
                    let displayInfo     = coin["DISPLAY"] as! Dictionary<String, Any>
                    let usdDisplayInfo  = displayInfo["USD"] as! Dictionary<String, Any>
                    let name            = coinInfo["Name"]
                    let fullName        = coinInfo["FullName"]
                    let imageUrl        = coinInfo["ImageUrl"]
                    let price           = usdDisplayInfo["PRICE"]
                    let marketCap       = usdDisplayInfo["MKTCAP"]
                    let change24Hr      = usdDisplayInfo["CHANGE24HOUR"]
                    let newCoin = Coin()
                    if let newCoinName = name, let newCoinFullName = fullName, let newCoinImageUrl = imageUrl, let newCoinPrice = price, let newCoinMarketCap = marketCap, let newCoinChange24hr = change24Hr {
                        let coinName        = newCoinName
                        let coinFullName    = newCoinFullName
                        let coinImageUrl    = newCoinImageUrl
                        let coinPrice       = newCoinPrice
                        let coinMarketCap   = newCoinMarketCap
                        let coinChange24Hr  = newCoinChange24hr
                        newCoin.name        = "\(coinName)"
                        newCoin.fullName    = "\(coinFullName)"
                        newCoin.imageURL    = "\(coinImageUrl)"
                        newCoin.price       = "\(coinPrice)"
                        newCoin.marketCap   = "\(coinMarketCap)"
                        newCoin.change24Hr  = "\(coinChange24Hr)"
                        self.coins.append(newCoin)
                    }
                }
            }
        }
    }
When i print 'self.coins.count' within the scope of the function i can see the count incrementing. Outside the function it's reading 0 items in the array.
 
     
    