草庐IT

default-lazy-init

全部标签

cocoa - 在 Swift 和 init(windowNibName) 中子类化 NSWindowController

我正在尝试在Swift中启动一个新的基于文档的Cocoa项目,并希望创建一个NSWindowController的子类(如Apple的基于文档的应用程序指南中所推荐的那样)。在ObjC中,您将创建一个NSWindowController子类的实例,该子类发送initWithWindowNibName:消息,该消息相应地实现,调用父类(superclass)方法。在Swift中,init(windowNibName)仅可用作便利初始化器,NSWindowController的指定初始化器是init(window),这显然要我通过一个窗口。我不能从我的子类中调用super.init(win

ios - 如何在不重复代码的情况下在 Swift 中实现两个具有相同内容的 init?

假设一个派生自UIView的类如下:classMyView:UIView{varmyImageView:UIImageViewinit(frame:CGRect){super.init(frame:frame)}init(coderaDecoder:NSCoder!){super.init(coder:aDecoder)}...如果我想在两个初始化器中使用相同的代码,比如self.myImageView=UIImageView(frame:CGRectZero)self.myImageView.contentMode=UIViewContentMode.ScaleAspectFill并

ios - 如何在不重复代码的情况下在 Swift 中实现两个具有相同内容的 init?

假设一个派生自UIView的类如下:classMyView:UIView{varmyImageView:UIImageViewinit(frame:CGRect){super.init(frame:frame)}init(coderaDecoder:NSCoder!){super.init(coder:aDecoder)}...如果我想在两个初始化器中使用相同的代码,比如self.myImageView=UIImageView(frame:CGRectZero)self.myImageView.contentMode=UIViewContentMode.ScaleAspectFill并

Keil5遇到:*** Target ‘xxx‘ uses ARM-Compiler ‘Default Compiler Version 5‘ which is not available.

这个原因是CompilerVersion5编译器在Keil5.37以后就不再默认安装了从这个版本开始,Keil默认安装的是CompilerVersion6.18,如下图图1版本信息解决方法:方式1.        点击锤子图标,然后在Target一栏选择:Version6(或6.18)的编译器,点击Ok退出。重新编译就可以了。/图2锤子(OptionsforTarget)图3Target栏选择Version6(或者6.18)方法2.        如果方式1解决不了,编译出现几百个报错,再尝试方法2。        安装CompilerVersion5编译器,安装好之后记得再点击锤子,切换成V

swift - 'init(开始 :end: )' is deprecated: it will be removed in Swift 3. Use the ' . .<' 运算符

我正在使用以下代码:varcontinousDigitsRange:Range=Range(start:0,end:0)自从更新到Xcode7.3(Swift2.2)我得到以下提示:'init(start:end:)'isdeprecated:itwillberemovedinSwift3.Usethe'..我不清楚如何使用“.. 最佳答案 你应该简单地写varcontinousDigitsRange1:Range=0..或者如果你想更简单varcontinousDigitsRange=0..

swift - 'init(开始 :end: )' is deprecated: it will be removed in Swift 3. Use the ' . .<' 运算符

我正在使用以下代码:varcontinousDigitsRange:Range=Range(start:0,end:0)自从更新到Xcode7.3(Swift2.2)我得到以下提示:'init(start:end:)'isdeprecated:itwillberemovedinSwift3.Usethe'..我不清楚如何使用“.. 最佳答案 你应该简单地写varcontinousDigitsRange1:Range=0..或者如果你想更简单varcontinousDigitsRange=0..

ios - init coder aDecoder到底是什么?

我正在通过在线类(class)学习iOS开发,每次我制作自定义View(自定义表格View单元格、CollectionView单元格等)时,讲师总是实现此初始化程序:requiredinit?(coderaDecoder:NSCoder){super.init(coder:aDecoder)}为什么我总是必须调用它?它有什么作用?我可以将属性放入init中吗? 最佳答案 我将从相反的方向开始这个回答:如果您想将View状态保存到磁盘怎么办?这称为序列化。反过来是反序列化-从磁盘恢复对象的状态。NSCoding协议(protocol)

ios - init coder aDecoder到底是什么?

我正在通过在线类(class)学习iOS开发,每次我制作自定义View(自定义表格View单元格、CollectionView单元格等)时,讲师总是实现此初始化程序:requiredinit?(coderaDecoder:NSCoder){super.init(coder:aDecoder)}为什么我总是必须调用它?它有什么作用?我可以将属性放入init中吗? 最佳答案 我将从相反的方向开始这个回答:如果您想将View状态保存到磁盘怎么办?这称为序列化。反过来是反序列化-从磁盘恢复对象的状态。NSCoding协议(protocol)

ios - fatal error : use of unimplemented initializer 'init(coder:)' for class

我决定用Swift继续我剩下的项目。当我将自定义类(UIViewcontroller的子类)添加到StoryboardViewController并加载项目时,应用程序突然崩溃并出现以下错误:fatalerror:useofunimplementedinitializer'init(coder:)'forclass这是一个代码:importUIKitclassTestViewController:UIViewController{init(nibNamenibNameOrNil:String?,bundlenibBundleOrNil:NSBundle?){super.init(nib

ios - fatal error : use of unimplemented initializer 'init(coder:)' for class

我决定用Swift继续我剩下的项目。当我将自定义类(UIViewcontroller的子类)添加到StoryboardViewController并加载项目时,应用程序突然崩溃并出现以下错误:fatalerror:useofunimplementedinitializer'init(coder:)'forclass这是一个代码:importUIKitclassTestViewController:UIViewController{init(nibNamenibNameOrNil:String?,bundlenibBundleOrNil:NSBundle?){super.init(nib