iOS 8.1上的EXC_BAD_ACCESS与词典

前端之家收集整理的这篇文章主要介绍了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相关文章