我有一个iOS 7应用程序,可以将自定义对象作为文件保存到应用的iCloud文档文件夹中。为此,我使用NSCoding协议。@interface Person : NSObject <NSCoding> @property (copy, nonatomic) NSStri...
NSKeyedUnarchiver.decodeObject如果原始类未知,将导致崩溃/SIGABRT。目前我所见到的唯一解决方法可以追溯到Swift早期的历史,需要使用Objective C(也是在Swift 2实现guard,throws,try和catch之前)。我可以找出Objecti...
自从升级到Swift 4.2以来,我发现许多NSKeyedUnarchiver和NSKeyedArchiver方法已经被弃用,我们现在必须使用类型方法static func unarchivedObject<DecodedObjectType>(ofClass: DecodedOb...
我有一段工作的代码,但它已经过时了: 这部分是好的: let archived = try? NSKeyedArchiver.archivedData(withRootObject: [defaultRecord] as NSArray, requiringSecureCoding: fal...
据我所知,不推荐使用 @try/@catch 块,因为只有在无法恢复的灾难性错误时才应抛出 exceptions 异常(请参考这个由@bbum提供了详细答案的讨论:iOS中的异常处理)。 所以我查看了我的代码,并发现了一个我不知道如何消除的@try/@catch块:NSData *fileD...
我在编写一个名为Packet的对象并通过Multipeer连接发送到另一侧时,出现了以下代码。然而,每当它尝试解码编码的对象时,就会出现以下错误。 class Packet : NSObject, NSCoding { var tmp1: Double = 0 var tmp2: ...
我试图通过序列化数组将iPhone中的“员工”对象数组传递到Apple Watch:NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:employees]; 并将其作为手表端的反序列化:NSMutableAr...
我正在使用NSKeyedUnarchiver解档对象,并希望使用代理(NSKeyedUnarchiverDelegate),但是我的代理没有被调用。编码和解码工作正常,但代理(unarchiver和unarchiverDidFinish)没有被调用。有人能帮忙吗?我有以下实现: ...
我刚刚重命名了我的Xcode项目,当我运行它时,我遇到了这个错误: 2015-11-14 05:32:42.337 Buck Tracker[3537:1456100] *终止应用程序,由于未捕获异常 'NSInvalidUnarchiveOperationException', 原因: ...
我已经为NSUserDefaults添加了类别方法来存储和检索编码对象(在这种情况下,是NSArray)。 我遇到了检索编码数据的问题。 这是我的代码: - (void)encodeObject:(id<NSCoding>)object forKey:(NSString *)ke...