美文网首页
关于swift解档的坑

关于swift解档的坑

作者: 巨巨巨巨巨12138 | 来源:发表于2019-12-06 14:40 被阅读0次

    iOS中储存的方式有很多种,SQL,CoreData,文件等等

    其中归解档也是一种常见的持久化储存
    swift归解有很多坑,这里总结一下

    1. 类名修改后解档会闪退
      归档时的对象名称和解档后不一致就会找不到,直接闪退
    2. target名称修改后解档会闪退
      原因是swift会以target名称创建命名空间,target改掉之后等于类名被改掉,同1

    当项目有需要混淆且碰到归解档存储时,一定要避开模型和数据的混淆,以免发生上诉情况,
    如已发生建议将target和模型数据名称改回去
    或使用新Api来处理

    
    
    @available(OSX 10.13, iOS 11.0, watchOS 4.0, tvOS 11.0, *)
    @nonobjc public static func unarchivedObject<DecodedObjectType>(ofClass cls: DecodedObjectType.Type, from data: Data) throws -> DecodedObjectType? where DecodedObjectType : NSObject, DecodedObjectType : NSCoding
    
    @available(OSX 10.13, iOS 11.0, watchOS 4.0, tvOS 11.0, *)
    @nonobjc public static func unarchivedObject(ofClasses classes: [AnyClass], from data: Data) throws -> Any?
    
    
    

    当然归档本身也有很多的劣势

    • 容易丢失数据
    • 性能不好
    • 如果碰到上诉问题,可能需要删掉重新安装才能正常运行,体验相当不好
      最后重要的事情说三次:

    不要用归解档!
    不要用归解档!
    不要用归解档!

    相关文章

      网友评论

          本文标题:关于swift解档的坑

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