内容简介:我不知道它是什么,但它在清理和重建项目后工作.我注意到不同的情况,有时构建不同步.有时代码在XCode中,但不执行.听起来令人难以置信,但我想这是真的.XCode 7.2
我正在使用NSKeyedUnarchiver来取消归档对象并希望使用委托(NSKeyedUnarchiverDelegate),但我的代理不会被调用.归档和取消归档工作正常,但代理(unarchiver& unarchiverDidFinish)未被调用.有人可以帮忙吗?
我有以下实现:
class BlobHandler: NSObject , NSKeyedUnarchiverDelegate{
func load() -> MYOBJECTCLASS{
let data:NSData? = getBlob();
var mykeyedunarchiver:NSKeyedUnarchiver=NSKeyedUnarchiver(forReadingWithData: data!);
mykeyedunarchiver.delegate = self;
let temp=mykeyedunarchiver.decodeObjectForKey("rootobject")
// No delegates are called
if temp==nil {
blobsexists=false;
}else{
objectreturn = temp! as! MYOBJECTCLASS;
return objectreturn;
}
}
func save1(myobject:MYOBJECTCLASS){
let data = NSMutableData()
var keyedarchiver:NSKeyedArchiver=NSKeyedArchiver(forWritingWithMutableData: data);
keyedarchiver.encodeObject(maptheme, forKey: "rootobject");
let bytes = data.bytes;
let len=data.length;
saveblob(bytes);
}
从未调用以下代理,这些代理也在我的Blobhandler中实现:
func unarchiver(unarchiver: NSKeyedUnarchiver, cannotDecodeObjectOfClassName name: String, originalClasses classNames: [String]) -> AnyClass? {
print("I am in unarchiver !");
return nil;
}
func unarchiverDidFinish(_ unarchiver: NSKeyedUnarchiver){
print("I am in unarchiverDidFinish ! ");
}
我不知道它是什么,但它在清理和重建项目后工作.
我注意到不同的情况,有时构建不同步.有时代码在XCode中,但不执行.听起来令人难以置信,但我想这是真的.
XCode 7.2
翻译自:https://stackoverflow.com/questions/34824624/how-to-use-the-delegates-with-nskeyedunarchiver
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Java 静态代理和动态代理的使用及原理解析
- 使用Nginx代理上网
- 使用shadowtunnel配置多级代理
- Go get使用代理
- 使用 Javassist 实现动态代理
- 使用Nginx做反向代理,设置请求返回时带上被代理机器的信息
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
云计算安全与隐私
Tim Mather、Subra Kumaraswamy、Shahed Latif / 刘戈舟、杨泽明、刘宝旭 / 机械工业出版社华章公司 / 2011-6 / 65.00元
《云计算安全与隐私》可以使你明白当把数据交付给云计算时你所面临的风险,以及为了保障虚拟基础设施和网络应用程序的安全可以采取的行动。本书是由信息安全界知名专家所著,作者在书中给出许多中肯的忠告和建议。本书的读者对象包括:IT职员、信息安全和隐私方面的从业人士、业务经理、服务提供商,以及投资机构等。阅读本书你会了解直到现在还严重匮乏的云计算安全方面的详尽信息。 《云计算安全与隐私》主要内容包括:......一起来看看 《云计算安全与隐私》 这本书的介绍吧!