内容简介:我不知道它是什么,但它在清理和重建项目后工作.我注意到不同的情况,有时构建不同步.有时代码在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做反向代理,设置请求返回时带上被代理机器的信息
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Pro CSS and HTML Design Patterns
Michael Bowers / Apress / April 23, 2007 / $44.99
Design patterns have been used with great success in software programming. They improve productivity, creativity, and efficiency in web design and development, and they reduce code bloat and complexit......一起来看看 《Pro CSS and HTML Design Patterns》 这本书的介绍吧!