Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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
Swift 词典文字;添加数组_Swift - Fatal编程技术网

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] = []