美文网首页
OC跟Swift混编时遇到的打包版本奔溃调试不奔溃的bug

OC跟Swift混编时遇到的打包版本奔溃调试不奔溃的bug

作者: Sweet丶 | 来源:发表于2021-08-18 20:38 被阅读0次

背景:在swift当中使用字典转json时,我使用了如下的方式:

let appendExif = ["key1": "value1", "key1": "value1"] as [AnyHashable : AnyHashable]
let jsonAppendExif = self.getJSONStringFromDictionary(appendExif as NSDictionary)

将自己的字典as转为 [AnyHashable : AnyHashable],之后在使用时发现要传NSDictionary, 所以用as将其转为NSDictionary传入。

结果:调试不奔溃,打包出来再安装,到这里就会奔溃!
之后找了非常久,改一行,打包一次,最终确定代码奔溃地方在appendExif as NSDictionary或者as [AnyHashable : AnyHashable],总之是要避坑!
正确的写法:

let appendExif = ["key1": "value1", "key1": "value1"] as NSDictionary
let jsonAppendExif = self.getJSONStringFromDictionary(appendExif)

字典的原理是哈希表,会通过key的哈希值与数组长度取模求出值的索引,所以key是需要AnyHashable的,而value并不需要,所以不需要写AnyHashable

相关文章

  • OC跟Swift混编时遇到的打包版本奔溃调试不奔溃的bug

    背景:在swift当中使用字典转json时,我使用了如下的方式: 将自己的字典as转为 [AnyHashable ...

  • DYLD, Library not loaded: /usr/l

    奔溃日志 奔溃表现:iOS12.1 及以下启动奔溃奔溃日志: 解决方法:关闭bitcode,重新打包上传appst...

  • iOS 9.x assets 导致的奔溃问题

    问题描述:上周新上传的版本在Bug收集中发现有几个地方出现很多次奔溃问题,问题都集中在iOS 9.x中奔溃机型分布...

  • iOS-千奇百怪的奔溃

    App 上线后,我们最怕的应该就是异常奔溃了。常见的奔溃类型分两种:信号可捕获奔溃、信号不可捕获奔溃,前者比较典型...

  • 成年人的奔溃♥是从借钱开始

    成年人的奔溃是从借钱开始,其实如果说是借钱的人奔溃,那么被借钱的这个人更奔溃。让人借钱奔溃的不是借钱这件事,而是“...

  • 奔溃

    送表弟们去上学的路上,听说刚才忘了拿《斗罗大陆》,却又接着说可以向同学借。我的内心立即奔溃了,满满的无力感! 当初...

  • 奔溃

    我总是想不让自己在乎别人的眼光,所以我总是在街上很自在,不担心自己的丑态被别人看到,我也经常对女友这么说,不要在意...

  • 奔溃

    工作到奔溃 加班到晚上八九点 没有人会理解你的苦楚,下班回家星空相伴,人与人之间的关系脆弱到分崩离析,工作后发现身...

  • 奔溃

    为什么当知道这个结果,我却奔溃了?原来不被期待的事情却偏偏来了,心里是那样的抵触。

  • 奔溃

    这次我是真的奔溃。 不知是不是产后抑郁。看着自己肥胖体型、变形的胸部,还有爱哭闹的孩子、躺在沙发上玩手机的老公。我...

网友评论

      本文标题:OC跟Swift混编时遇到的打包版本奔溃调试不奔溃的bug

      本文链接:https://www.haomeiwen.com/subject/pnqnbltx.html