Swift - 字典数组插入另一个数组

时间:2016-12-09 08:17:04

标签: objective-c arrays swift dictionary insert

我宣布了

let ay: [String:String] = ["key1":"verios", "key2":"fdsf"]
var array = ["apple", "banana", "dragonfruit"]

当我使用

array.insert(ay, at:2)

array = ay + array

会出现错误:

  

错误:函数和Methods.xcplaygroundpage:22:14:错误:不能   转换类型' [String:String]'的值预期的参数类型   '字符串'

我很快就是新人。我想在目标c中执行类似下面的代码。

NSDictionary *dict = @{
                       @"Key1" : @NO,
                       @"Key2" : @1.0f,
                       @"Key3" : @"String",
                       };

NSMutableArray *ary = @[@"sad", @"and", @"cry"];
NSArray *ay = @[dict, dict, dict];
[ary insertObject:ay atIndex:2];

但我无法在Swift中实现这一目标。

2 个答案:

答案 0 :(得分:0)

您的数组属于[String]类型,当您插入类型为ay的{​​{1}}时,它会给您错误。

所以只需更改类型的数组[String:String],如

[Any]

最终代码:

 var array:[Any] = ["apple", "banana", "dragonfruit"]

答案 1 :(得分:0)

您必须使用Any ...

 let ay: [String:String] = ["key1":"verios", "key2":"fdsf"]
    var array : [Any] = ["apple", "banana", "dragonfruit"]

    array.append(ay)