相关疑难解决方法(0)

何时使用NSSecureCoding

我正在学习NSSecureCodingApple在iOS 6中引入的协议.

根据我的理解,到目前为止,只要一个类对自身的实例进行编码/解码,就应该使用它,以防止替换攻击.

我想知道在其他情况下使用它是否合适.

具体来说,如果一个类NSCoding通过编码/解码其实例变量来符合,而不是整个实例,那么它仍然是可行的NSSecureCoding吗?


编辑

假设我有一个实现NSCoding如下的类

- (void)encodeWithCoder:(NSCoder *)encoder {
    [encoder encodeObject:self.aString forKey:@"aMeaningfulString"];
}

- (id)initWithCoder:(NSCoder *)decoder {
    if((self = [super init])) {
        self.aString = [decoder decodeObjectForKey:@"aMeaningfulString"];
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

并且还假设没有涉及XPC.此类的实例将存储在磁盘上的plist中.

在安全方面,使用是否有任何好处,-decodeObjectOfClass:forKey:而不是 -decodeObjectForKey:

security objective-c nscoding ios nssecurecoding

25
推荐指数
1
解决办法
9029
查看次数

在cocoa/objective-c中复制NSView

我看不到任何方法来复制NSView并创建一个相同的NSView对象.我看到谷歌点击"使用NSData",但我不明白.

cocoa objective-c

13
推荐指数
2
解决办法
3674
查看次数

Parse和watchkit扩展

我正在使用WatchKit构建一个应用程序,并希望使用PFObjects中的数据填充一个表,但是我遇到了这个错误:

由于未捕获的异常'NSInvalidUnarchiveOperationException'终止应用程序,原因:'此解码器将只解码采用NSSecureCoding的类."PFObject"类没有采用它.

这篇文章有同样的问题

ios parse-platform apple-watch watchkit

6
推荐指数
1
解决办法
705
查看次数