关于swift中init的理解

一个类需要什么样的init,需要视情况而定,可根据一下情形进行判定:

1.类中如果有任何没有初始值的属性,则必须要编写init,如果所有属性均已初始化,则在实例化类的时候会自动调用init()或super.init()

2.如果该类为某类的子类,则编写init时需要添加required或override

3.添加ruquired还是override的选择:override用于重载其父类的init,特别的,override init();required用于本类特殊参数形式的init构造。因此一个类往往可有多种init方法。

4.init可选的用法:若init进行过程中可能出现获取失败或调用失败返回nil的情况,需要加可选。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 2,313评论 1 6
  • 123.继承 一个类可以从另外一个类继承方法,属性和其他特征。当一个类继承另外一个类时, 继承类叫子类, 被继承的...
    无沣阅读 1,430评论 2 4
  • 官方文档 初始化 Initialization是为准备使用类,结构体或者枚举实例的一个过程。这个过程涉及了在实例里...
    hrscy阅读 1,149评论 0 1
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,880评论 1 10