iOS 8.1上的EXC_BAD_ACCESS与词典
2019年08月29日
作者:佚名
我有一个对象可以通过一个静态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与词典所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。