nscoding

    2热度

    1回答

    我目前正在调查一个文件的存档期间崩溃,这个文件据说是通过NSKeyedArchiver存储的。崩溃日志包含该文件的前8个字节的四重奏(我只包括下面的前2个)。 Fatal Exception: NSInvalidArgumentException *** -[NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive

    3热度

    1回答

    我将尝试在Xcode 7(代码覆盖率)和Swift 2.0中使用新的测试功能。 使用代码覆盖率,我看到我没有测试我的NSCoding方法。 为了节省一些细节的一个简单的例子,比如 required init(coder aDecoder: NSCoder) { name = aDecoder.decodeObjectForKey("name") as! String time

    0热度

    1回答

    Objective-C中的大多数init方法现在倾向于返回instancetype而不是id。请参阅[UIView initWithFrame:],[UIViewController initWithNibName:bundle:],[NSArray init]和兄弟姐妹等,但initWithCoder使用id。为什么是这样?它只是没有更新?或者是否有一个原因是它必须是id?

    2热度

    1回答

    Swift中应该如何处理与NSCoding相关的错误? 当使用init?(coder:)对对象进行初始化时,如果数据无效,则可能无法初始化对象。我想抓住这些错误并妥善处理它们。为什么init?(coder:)没有在Swift中定义为抛出函数?

    3热度

    1回答

    在StackOverflow上长时间广泛使用它之后的第一篇文章。 我正在构建一个小应用程序(只是为了迅速学习),而且我有一些数据持久化的麻烦。我使用NSCoding来实现这一点。问题是,当保存时,功能NSKeyedArchiver.archiveRootObject()返回true(很明显它工作),但是当我稍后尝试检索这些保存的信息时,NSKeyedUnarchiver.unarchiveObje

    0热度

    1回答

    我在斯威夫特下列情况下奋力: 我有一个NSManaged类名为事件: import UIKit import Foundation import CoreData class Event: NSManagedObject, NSCoding { @NSManaged var eventArchived: Bool @NSManaged var eventCCRecipientAddr

    5热度

    3回答

    我的应用通过归档具有属性的类的实例将设置保存到iOS设备上的文件。该类使用NSCoding协议,因此,我使用encodeWithCoder对这些属性进行编码。然后,我尝试使用诸如tempInt = decoder.decodeIntegerForKey("profileFlags") as Int 这样的命令将这些文件读回到内存中,目前为止这种方法运行良好,但现在我需要能够存储其他属性并检索它们。

    0热度

    1回答

    我想使用NSKeyedArchiver保存NSObject并保存其关联NSArray。 用户有很多技能(不超过6或7)。技能是NSObjects一个NSArray与NSCoding协议,在用户模型 //User.h @property (strong, nonatomic) NSArray *skills; 是用户和技能是要在2个不同的.plist文件和技能与用户ID检索到的单独保存?或者是

    1热度

    1回答

    我试图使用NSCoding协议读取和写入数据到plist。当我尝试编写NSObject的子类[GolfHoles]时,我得到一个异常。我用不同的方法阅读过几篇文章,但都没有帮助。 class GolfCourse: NSObject, NSCoding { var name: String = "" var location: String = "" var holes: [GolfHole

    1热度

    1回答

    我试图能够序列化和解码自定义类。这个类本身有一个属性,这是一个枚举数组,如下所示: (我已阅读如何使用原始值并序列化,但我没有任何运气计算出如何使用数组像这样)。 enum WeekDays : String { case Sunday = "Sunday" case Monday = "Monday" case Tuesday = "Tuesday" case Wednesday