iOS之深入解析Objective-C和Swift初始化

举报
Serendipity·y 发表于 2022/02/17 00:35:00 2022/02/17
【摘要】 初始化 在 iOS 里面,无论是 Objective-C 还是 Swift,类(结构体、枚举)的初始化都有一定的规则要求,只不过在 Objective-C 中会比较宽松,如果不按照规则也不会报错,但...

初始化

  • 在 iOS 里面,无论是 Objective-C 还是 Swift,类(结构体、枚举)的初始化都有一定的规则要求,只不过在 Objective-C 中会比较宽松,如果不按照规则也不会报错,但会存在隐患,而在 Swift 则需要严格按照规则要求代码才能编译通过,极大提高了代码的安全性。
  • 类(结构体、枚举)的初始化有两种初始化器(初始化方法):指定初始化器(Designated Initializers )、便利初始化器(Convenience Initializers)。
一、Designated Initializers
  • 指定初始化器是类(结构体、枚举)的主初始化器,类(结构体、枚举)初始化的时候必须调用自身或者父类的指定初始化器。
  • 一个类(结构体、枚举)可以有多个指定初始化器,作用是代表从不同的源进行初始化。一个类(结构体、枚举)除非有多种不同的源进行初始化,否则不建议创建多个指定初始化器。
  • 在 iOS 里,视图控件类,如果:UIView、UIViewController就有两个指定初始化器,分别代表从代码初始化、从Nib初始化
二、Convenience Initializers
  • 便利初始化器是类(结构体、枚举)的次要初始化器,作用是使类(结构体、枚举)在

文章来源: blog.csdn.net,作者:Serendipity·y,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Forever_wj/article/details/108396925

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。