Reputation: 1855
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
Reputation: 2701
Without going through the code in detail: This error is normally called when trying to append to an optional array.
Upvotes: 1