我宣布了
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中实现这一目标。
答案 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)