Arrays 将字典添加到Swift中的数组

Arrays 将字典添加到Swift中的数组,arrays,dictionary,swift,Arrays,Dictionary,Swift,我创建了一个dictionary数组,但在尝试将对象(dictionary)添加到数组时出错。 我有一个错误“AnyObject没有名为'append'的成员” var posts=[Dictionary]() var post=字典() var附件=字典() ... post=[“id”:“a”,“标签”:“b”] 附件=[“id”:“c”,“图像”:“d”] var newPost=[post,附件] posts.append(newPost)append是添加一个项目,而您正在尝试附加另一

我创建了一个dictionary数组,但在尝试将对象(dictionary)添加到数组时出错。 我有一个错误“AnyObject没有名为'append'的成员”

var posts=[Dictionary]()
var post=字典()
var附件=字典()
...
post=[“id”:“a”,“标签”:“b”]
附件=[“id”:“c”,“图像”:“d”]
var newPost=[post,附件]

posts.append(newPost)
append
是添加一个项目,而您正在尝试附加另一个数组(
post
是一个字典数组)。您可以使用
+=
运算符:

posts += newPost
posts.extend(newPost)
或者使用
extend
方法(相当于
+=
运算符):

或单独添加元素:

posts.append(post)
posts.append(attachment)

append
是添加一个项,而您正试图附加另一个数组(
post
是一个字典数组)。您可以使用
+=
运算符:

posts += newPost
posts.extend(newPost)
或者使用
extend
方法(相当于
+=
运算符):

或单独添加元素:

posts.append(post)
posts.append(attachment)

如果希望每个帖子都是帖子和参数的数组:

var posts=[[Dictionary<String,AnyObject>]]()
var posts=[[Dictionary]]()
此外,您还可以定义post和附件的类型,而无需创建空对象:

var post:Dictionary<String,AnyObject>
var attachment:Dictionary<String,AnyObject>
var post:Dictionary
var附件:字典

如果希望每个帖子都是帖子和参数的数组:

var posts=[[Dictionary<String,AnyObject>]]()
var posts=[[Dictionary]]()
此外,您还可以定义post和附件的类型,而无需创建空对象:

var post:Dictionary<String,AnyObject>
var attachment:Dictionary<String,AnyObject>
var post:Dictionary
var附件:字典

当我使用posts+=newPost时,我有一个错误“[(字典)]与UInt8不同”。我找到了一个使用NSMutableArray和addObject的解决方案,但我不喜欢它,因为我的挑战是用Swift编写所有代码。使用
extend
怎么样?什么类型的
newPost
?它是一个数组还是一个单独的
字典实例
?newPost是一个单独的字典实例,并发布一个字典数组(请参见我的编辑)。当我执行arrayOfposts.extend(postToAdd)时,我有一个错误:Dictionary与(String,Dictionary)不相同。我在类型上犯了一个错误,但是在哪里?您替换的代码工作正常。但是,您应该避免在问题中替换代码,因为:这会使答案无效,包括我的答案。我将把你的问题还原到以前的版本,请在原始问题下面的一节中发布你的代码和附加注释,使用更新标签作为前缀还原为原始问题,并在单独的部分中添加了修改后的代码-检查它以验证我没有遗漏任何内容当我使用posts+=newPost时,我有一个错误“[(字典)]与UInt8不相同”。我找到了一个使用NSMutableArray和addObject的解决方案,但我不喜欢它,因为我的挑战是用Swift编写所有代码。使用
extend
怎么样?什么类型的
newPost
?它是一个数组还是一个单独的
字典实例
?newPost是一个单独的字典实例,并发布一个字典数组(请参见我的编辑)。当我执行arrayOfposts.extend(postToAdd)时,我有一个错误:Dictionary与(String,Dictionary)不相同。我在类型上犯了一个错误,但是在哪里?您替换的代码工作正常。但是,您应该避免在问题中替换代码,因为:这会使答案无效,包括我的答案。我将把你的问题还原到以前的版本,请在原始问题下面的一节中发布你的代码和附加注释,以更新labelOk作为前缀,恢复到原来的问题,并在单独的部分添加了修改后的代码-查看以验证我没有错过任何东西这在swift游乐场为我工作,没有任何抗议,看起来不错。您使用的是最新的xcode吗?代码的第二个版本工作得很好。请提供更多的细节,如果它对你不起作用,这对我来说是在一个没有抗议的快速操场上,看起来不错。您使用的是最新的xcode吗?代码的第二个版本工作得很好。如果它不适合您,请提供更多详细信息