Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Swift-字典插入到另一个数组的数组_Objective C_Arrays_Swift_Dictionary_Insert - Fatal编程技术网

Objective c Swift-字典插入到另一个数组的数组

Objective c Swift-字典插入到另一个数组的数组,objective-c,arrays,swift,dictionary,insert,Objective C,Arrays,Swift,Dictionary,Insert,我宣布 let ay: [String:String] = ["key1":"verios", "key2":"fdsf"] var array = ["apple", "banana", "dragonfruit"] 当我使用 array.insert(ay, at:2) 或 将出现一个错误: 错误:函数和方法。xcplaygroundpage:22:14:错误:无法 将“[String:String]”类型的值转换为预期的参数类型 “字符串” 我是新来的斯威夫特。我想做一些类似于下面目标

我宣布

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

array.insert(ay, at:2)

将出现一个错误:

错误:函数和方法。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中实现这一点。

您的数组是[String]类型,当您插入[String:String]类型的ay时,它会给出错误

因此,只需将数组类型更改为[Any]类

最终代码:

你必须使用任何

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

    array.append(ay)

哦就这样!非常感谢。let ay:[String:String]=[key1:verios,key2:fdsf]是否与目标C中的NSDictionary相同?您能告诉我们为什么要这样做吗?将数组类型更改为[Any]确实会允许您这样做,但这不太可能是您真正想要做的。@overactor实际上我只是在学习。我的想法是将respondObject从JSON管理到一些易于访问的字典。
 var array:[Any] = ["apple", "banana", "dragonfruit"]
let ay: [String:String] = ["key1":"verios", "key2":"fdsf"]
var array:[Any] = ["apple", "banana", "dragonfruit"]

array.insert(ay, at:2)

print(array)  //Result :  ["apple", "banana", ["key1": "verios", "key2": "fdsf"], "dragonfruit"]
 let ay: [String:String] = ["key1":"verios", "key2":"fdsf"]
    var array : [Any] = ["apple", "banana", "dragonfruit"]

    array.append(ay)