我有一个对象可以通过一个静态var在一个struct(解决方案,因为缺少类
swift在现在的
swift),结构如下:
struct Constants{ static var myObj = MyObject() }
MyObject有一个字典,就像这样:
class MyObject{ private var params = Dictionary<String,AnyObject>() func addParam(key:String,value:AnyObject){ params[key] = value } }
现在在第一次调用Contants.myObj.addParam(“param”,value:123)的对象时,一切都很好,params有内容[“param”:123].在Contants.myObj.addParam(“param”,值:456)的第二次调用中,我得到一个EXC_BAD_ACCESS.
这是踢球者,但只发生在iOS 8.1中.另外,如果我添加行让stupidHack = self.params作为我的addParam方法的第一行,它的工作正常.我的假设是它处理字典的可变性.在初始化之后,let可以以某种方式触发字典再次可变.
之前有谁遇到这个问题吗?有什么想法如何解决?
谢谢!