iOS 8.1上的EXC_BAD_ACCESS与词典

我有一个对象可以通过一个静态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可以以某种方式触发字典再次可变.

之前有谁遇到这个问题吗?有什么想法如何解决?

谢谢!

解决方法

看起来像编译器的错误.

你尝试过在Release和Debug之间切换,然后重建?如果调试工作但不能释放,可能是编译器/优化器错误的指示.

它是否发生在模拟器呢?

您的代码适用于我在iOS 8.1与XCode 6.1.

以上是来客网为你收集整理的iOS 8.1上的EXC_BAD_ACCESS与词典全部内容,希望文章能够帮你解决iOS 8.1上的EXC_BAD_ACCESS与词典所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。