上下文类型' AnyObject'不能与字典文字多级字典一起使用

时间:2016-11-01 15:51:56

标签: swift xcode

我遇到了在Swift中创建多级字典的问题,并且已经遵循了这里提出的一些建议:

var userDict:[String:AnyObject]? = ["SystemId": "TestCompany",
                                     "UserDetails" : ["firstName": userDetail.name, "userAddress" : "addressLine1" userDetail.userAdd1]]

使用[String:AnyObject]?适用于Dict的第一级,但Swift在下一级Dict,UserDetail[]处抛出相同的错误。任何建议将不胜感激

1 个答案:

答案 0 :(得分:0)

我不确定userDetail.nameuserDetail.userAdd1的类型是什么,但如果它们是字符串,则应该让它[String:String]?

但是,[String:Any]?应该可以解决您的问题。如果您确定要让它[String:AnyObject]?(我认为您不想这样做),您可以这样做:

var userDict:[String:AnyObject]? = ["SystemId": "TestCompany" as AnyObject,
                                            "UserDetails" : ["firstName": userDetail.name, "userAddress" : userDetail.userAdd1] as AnyObject]

希望这会有所帮助。