尝试将Dictionary<String, Any>
保存到Array <Dictionary<String, Any>>
时
系统抛出异常EXC_BREAKPOINT
。相同的代码,但我使用Any
代替String
工作正常:Dictionary<String, String >
存储在Array <Dictionary<String, String >>
为什么会这样?我认为它有Any
类型的问题,但是我无法解决这个问题,因为我需要Dictionary
来存储不同类型的对象
更新
如果我声明数组var mListItems = Array<Dictionary<String, Any>>();
作为一个类属性然后它崩溃,如果mListItems被声明为局部变量它工作
答案 0 :(得分:1)
似乎有办法解决崩溃问题:
class ViewController: UIViewController {
var mListItems = Array<Any>() // Or Array<Dictionary<String, AnyObject>>()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var characters = Dictionary<String, AnyObject>()
characters["a"] = "A"
mListItems.append(characters)
}
}
var animals = NSMutableDictionary()
animals.setValue("Miao", forKey: "cat")
mListItems.append(animals) // mListItems is Array of Any
答案 1 :(得分:0)
这是Swift中的一个错误。我不能再复制它了。