Swift 词典文字;添加数组
以下面两个示例为例:为什么我不能从数组变量向字典文本添加数组 这项工作:Swift 词典文字;添加数组,swift,Swift,以下面两个示例为例:为什么我不能从数组变量向字典文本添加数组 这项工作: class test{ var myarray: [String?] = [] var dictionary: [String: AnyObject]{ get { return [ "object": [ "array":["",""], ],
class test{
var myarray: [String?] = []
var dictionary: [String: AnyObject]{
get {
return [
"object": [
"array":["",""],
],
]
}
}
}
但这不起作用?“上下文类型“AnyObject”不能与字典文本一起使用。”
这个问题与字典文本无关。在你的第一个案例中
[ "array":["",""]]
可以转换为任何对象
,因为所有字符串
都是自动转换的
如有必要,桥接到NSString
。然后将[“”,“”]
桥接到
一个NSArray
,以及一个NSDictionary
的整个表达式
它在第二种情况下不起作用,因为可选类型String?
无法转换为AnyObject
。如果将定义更改为
var myarray: [String] = []
然后它就可以顺利编译了。环顾四周,我找到了解决方案: “作为任何对象”
[“”,“”]
与[String?]
不同。顺便说一句,这是一个可怕的代码示例。
var myarray: [String] = []