Albi
Albi

Reputation: 1855

Cannot invoke append with an argument list of type json in IOS Swift

When I try to append a list which contain list of image which I parsed from JSON into an array in Swift iOS I mm getting an error:

"Cannot invoke append with an argument list of type json"

I'm totally new to iOS (Swift).

This is the basic code I'm using Alamofire, SwiftyJSON and SwiftyUserDefaults.

import Alamofire
import SwiftyJSON
import SwiftyUserDefaults

var NameArr: [String] = []
var ProfileImgArr: [String] = []
var StyleTypeArr: [String] = []

var ImageStackArr = [String]()
var SingleImageArr: [String] = []

var ItemNameArr: [String] = []
var TagsArr: [String] = []
var ImageArrSet: [String] = []
var LikeCountArr: [Int] = []

var ImageFlag: [String] = []

var testCount: (Int) = 0
var imageCounter = 0
var normalCounter = 0
var normalCounter1 = 0
var normalCounter2 = 0

// JSON load

let url = "http://zapmob.cloudapp.net/media/"

func JsonLoad() {
    Alamofire.request(.GET, "http://zapmob.cloudapp.net/feed/?format=json")
        .responseJSON { (request, response,  data, error) in
            println(error)
            println(response)

            let json = JSON(data!)

            for (var j = 0; j <= json.count-1; j++) {
                let FullName = json[j]["user_details_dict"]["username"].string
                self.NameArr.append(FullName!)

                let ProfilePic = json[j]["user_details_dict"]["profile_pic"].string
                self.ProfileImgArr.append(ProfilePic!)

                let StyleType = json[j]["fashion_type"].string
                self.StyleTypeArr.append(StyleType!)

                // -- Start of error part --v

                var ImageStackArrs = [json[j]["images"].array!]

                println(ImageStackArrs)

                Defaults["ImageArrStack"] = ImageStackArrs

                for (var x = 0; x <= ImageStackArrs.count - 1; x++) {
                    Defaults["ImageStackCache"] = [ImageStackArrs[x][0]]
                }

                // -- End of error part --^

                let ItemName = json[j]["album_title"].string
                self.ItemNameArr.append(ItemName!)

                let LikeCount = json[j]["like"].count
                self.LikeCountArr.append(LikeCount)
            }

            Defaults["NameCache"] = self.NameArr
            Defaults["ProfileImgCache"] = self.ProfileImgArr
            Defaults["StyleTypeCache"] = self.StyleTypeArr
            Defaults["ItemNameCache"] = self.ItemNameArr
            Defaults["TagsCache"] = self.TagsArr
            Defaults["LikeCountCache"] = self.LikeCountArr
    }
}

Upvotes: 0

Views: 1009

Answers (1)

Vince O&#39;Sullivan
Vince O&#39;Sullivan

Reputation: 2701

Without going through the code in detail: This error is normally called when trying to append to an optional array.

Upvotes: 1

Related Questions