泰勒tayior swiftt怎么注册,我怎么注册不出来,求助

Swift语言环境下如何使Controller关联xib文件_百度经验
&&&&&&&&&电脑软件Swift语言环境下如何使Controller关联xib文件
百度经验:1.Swift下创建xib这和OC下非常相似,首先创建一个Controller(比如RootViewController),语言选择Swift,并勾选“Also create XIB file”。&画控件、连线等操作,都与OC下的非常类似,这里不赘述。但是问题来了,xib画好了,连线也连好了,生成的Controller却总是空白一片,为什么呢?原因是,Swift下,子类不会默认继承父类的初始化方法,导致子类相关初始化方法缺失。2.重写init(nibNameOrNil, bundleOrNil)要让Controller能与xib关联,关键是init(nibNameOrNil, bundleOrNil)方法。既然子类没有自动继承,我们就得亲自添加相关代码。如下: //2.继承并重写用nibName初始化的init方法override&init(nibName nibNameOrNil:&String?, bundle nibBundleOrNil:&NSBundle?){&&&&&&&&super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)}3.重写无参数init方法前面我们重写了init(nibNameOrNil, bundleOrNil)方法,但如果要使用,那么不得不每次都提供两个参数,这是很麻烦的事。在OC里,如果直接使用new方法生成一个Controller,无需额外参数,它就可以自动关联xib文件。在Swift里,可以通过增加一个便利初始化方法达到此效果,代码如下:&&//3.重写无参数初始化方法,自动调用xib文件convenience&override&init() {&&&&&&&&var&nibNameOrNil =&String?("RootViewController")&&&&&&&&//考虑到xib文件可能不存在或被删,故加入判断&&&&&&&&if&NSBundle.mainBundle().pathForResource(nibNameOrNil, ofType:&"xib") ==&nil& & & & {& & & & & &&&&& nibNameOrNil =&nil& & & & }&&&&&&&&self.init(nibName: nibNameOrNil, bundle:&nil)}4.附加代码写完上述代码后,编译器会报错,提示要加入一段代码才行。双击错误提示,编译器会自动加入以下代码。当然你也可以亲手打进去:& &//4.编译器提示需要加入的代码required init(coder aDecoder:&NSCoder) {&&&&&&&&fatalError("init(coder:) has not been implemented")}&5.使用方法以刚才的RootViewController为例,在AppDelegate里面可以这样调用,这样就直接与xib关联起来了:& &//5.把RootViewController作为根视图控制器self.window!.rootViewController&=&RootViewController()经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(2)已投票(2)有得(0)我有疑问(1)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验00000_百度知道_百度知道热门杂志第1期你不知道的iPad技巧3680次分享第1期win7电脑那些事6470次分享第2期新人玩转百度经验1335次分享第1期Win8.1实用小技巧2620次分享第1期小白装大神1857次分享◆请扫描分享到朋友圈

我要回帖

更多关于 swift登陆注册 实现 的文章

 

随机推荐