Add dictionary to array in Swift

I created a dictionary array, but I have an error when I tried to add my object (dictionary) to my array. I have this error: "AnyObject does not have a member named" append "

var posts=[Dictionary<String,AnyObject>]()

var post=Dictionary<String,AnyObject>()
var attachment=Dictionary<String,AnyObject>()

...

post=["id":"a", "label":"b"]
attachment=["id":"c", "image":"d"]
var newPost = [post, attachment]

posts.append(newPost) <- AnyObject does not have a member named 'append'

I do not understand. Maybe I did not initialize the array correctly?

UPDATE / SOLVED

var posts=[Dictionary<String,Dictionary<String,AnyObject>>]()

var post=Dictionary<String,AnyObject>()
var attachment=Dictionary<String,AnyObject>()

...

post=["id":"a", "label":"b"]
attachment=["id":"c", "image":"d"]
var newPost = ["post":post, "attachment":attachment]

posts.append(newPost) <- AnyObject does not have a member named 'append'

EDIT: newPost is an instance of a dictionary and puts an array of dictionaries

0
source share
2 answers

appendis to add an element, while you are trying to add another array ( post- this is an array of dictionaries). You can use the operator +=:

posts += newPost

or use a method extend(which is equivalent to an operator +=):

posts.extend(newPost)

or add items separately:

posts.append(post)
posts.append(attachment)
+5

, :

var posts=[[Dictionary<String,AnyObject>]]()

, :

var post:Dictionary<String,AnyObject>
var attachment:Dictionary<String,AnyObject>
0

All Articles