手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆

swift initwithnibname

首页 > 苹果相关 >

本篇是个笔记

在参考oc代码的时候,有一个initWithNibName方法,在使用swift重写的时候,发现,如果super.init,就会报错,参考了网上很多代码,有人说,重写init方法。不能用override,要用required,结果也是无效

所幸stackflow上面已经有人提出了,说是不能用    init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) 这种方法,只能用 init(NSCoder),网上也有很多人写了例子。

但好象每一个版本的xcode 测试版都不太正常,所以,有的例子就是:func init(coder code:NSCoder!),但实际在使用的时候发现它有提示,说是必须要required,而且NSCoder!不要加感叹号。

于是我最后的代码就是:

XML/HTML代码
  1. required init(coder decoder: NSCoder){  
  2.     super.init(coder: decoder)  
  3. }  

 

搞定

 参考:

1、http://blog.johnregner.com/post/93071481303/ios-programming-in-swift-chapter-1

2、http://stackoverflow.com/questions/25267907/initwithnibname-does-not-implement-superclass-swift

 




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: swift

« 上一篇 | 下一篇 »

只显示10条记录相关文章

swift srand(time(NULL)) (浏览: 12089, 评论: 0)
swift pragma mark (浏览: 9767, 评论: 0)
UIActionSheetView和UIAlertView (浏览: 7830, 评论: 0)
IOS开发笔记(swift)二 (浏览: 6179, 评论: 0)

发表评论

评论内容 (必填):