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)