当前位置: 首页 > wzjs >正文

深圳网站运营外包公司网站建设三要素

深圳网站运营外包公司,网站建设三要素,教育网站建设情况报告,长沙代理记账iOS高级开发工程师面试——Swift 一、Swift 和 OC1. swift 和 OC 的联系2. swift 相对于 OC 的优势3. swift 优缺点二、Swift 的可选项类型(Optionals)三、Swift 中的 struct 和 class四、swift 中 defer、guard?1. **defer**2. **guard**五、Swift 中高阶函数有哪些?1. **…

iOS高级开发工程师面试——Swift

  • 一、Swift 和 OC
    • 1. swift 和 OC 的联系
    • 2. swift 相对于 OC 的优势
    • 3. swift 优缺点
  • 二、Swift 的可选项类型(Optionals)
  • 三、Swift 中的 struct 和 class
  • 四、swift 中 defer、guard?
    • 1. **defer**
    • 2. **guard**
  • 五、Swift 中高阶函数有哪些?
    • 1. **map**
    • 2. **flatMap**
    • 3. **filter**
    • 4. **reduce**
  • 六、Swift 为什么将String,Array,Dictionary设计成值类型?
  • 七、Swift 中的 async/await?
    • 1. async
    • 2. await
  • 八、Swift 消息派发机制有几种?详细说说。

一、Swift 和 OC

1. swift 和 OC 的联系

  1. swift 和 OC 共用一套运行时环境,swift 和 OC 可以互相桥接互相引用混合编程;
  2. OC 中很多类库,在 swift 中依然可以直接使用,只是语法上有些改变;
  3. OC 中的计数器ARC属性协议接口初始化扩展类命名参数匿名函数等绝大多数概念,在 swift 中继续有效。
  4. swift 中有 OC 没有的一些概念。比如:元组泛型函数式编程模式(如 map、filter、reduce 等)等。

2. swift 相对于 OC 的优势

  • swift 容易阅读,语法和文件结构简洁化。
  • swift 更容易维护,文件分离后结构更清晰。
  • swift 更加安全,它是类型安全的语言。
  • swift 代码更少,语法更简洁,可以省去大量冗余的代码。
  • swift 速度更快,运算性能更高。

3. swift 优缺点

优点:

  1. 语法更简洁
  2. 报错精准(报错的时候直接显示报错行)
  3. 定义变量简单(定义变量不用区分整型,浮点型等等,变量使用var,常量使用let。)
  4. 可视化互动效果(开发工具带来了Xcode Playgrounds功能,该功能提供强大的互动效果,能让Swift源代码在撰写过程中实时显示出其运行结果。)
  5. 函数式编程的支持(Swift 语言本身提供了对函数式编程的支持;Objc 本身是不支持的,通过引入 ReactiveCocoa 这个库才可支持函数式编程。

缺点:

  • Swift目前还没有得到全面性的推广
  • Swift 暂时还不稳定,在 Swift 5.0 之前 API 不稳定,之后变得稳定
  • .第三方库的支持不够多
  • App体积变大( App 体积大概增加 5-8 M 左右)
  • 上线方式改变(在上线的时候,不能使用application Loader上传包文件,会提示你丢失了swift support files,应该使用xcode直接上传。)

二、Swift 的可选项类型(Optionals)

swift 引用了可选项类型,用于处理变量值不存在的情况。
Optionals 类似于 OC 中指向 nil 的指针,但是适用于所有的数据类型,而非仅仅局限于类,Optionals 相比于 OC 中的 nil 指针 ,更加安全和简明,并且也是 swift 诸多最强大功能的核心。

三、Swift 中的 struct 和 class

  • 相比于 OC 中的结构体,Swift 对结构体的使用比重大了很多,结构体成了实现面向对象的重要工具。
  • 相比于 C++ 和 OC 中的结构体只能定义一组相关的成员变量,在 Swift 不仅可以定义成员变量(属性),还可以定义成员方法。 因此在 Swift 中,我们可以把结构体看做是一种轻量级的类。
  • Swift 中结构体不具有继承性也不具备运行时类型强制转换使用析构器和使用引用计等能力
  • Swift 中 struct 是值类型,而 class 是引用类型
    值类型的变量直接包含他们得数据,而引用类型的变量存储对他们的数据引用。
    因此引用类型的变量被称为对象,因此对一个变量操作可能影响另一个变量所引用的对象。
    而对于值类型都有他们自己的数据副本,因此对一个值类型的变量操作不可能影响到另一个值类型的变量。

四、swift 中 defer、guard?

1. defer

defer 关键字提供了一个安全和简便的方式来处理这件事,离开当前的代码块时,会执行defer对应的代码块

func openFileAction(){///打开文件openFile()defer{

文章转载自:

http://myx7cZGy.mghgL.cn
http://vNhzCfdz.mghgL.cn
http://uXWJaPeR.mghgL.cn
http://ZsdAo7rH.mghgL.cn
http://xhhfICDg.mghgL.cn
http://XmTjXSxx.mghgL.cn
http://egXUh5KX.mghgL.cn
http://97Q2C6Af.mghgL.cn
http://cogE5nZc.mghgL.cn
http://svdWi4Wh.mghgL.cn
http://vW5OJcHW.mghgL.cn
http://xyoodpzQ.mghgL.cn
http://XO9OFo75.mghgL.cn
http://bQSO6z2J.mghgL.cn
http://empzlIEJ.mghgL.cn
http://y1SN7Q9h.mghgL.cn
http://T3qQYdVS.mghgL.cn
http://iRMKS0FN.mghgL.cn
http://Y3mhutGc.mghgL.cn
http://ycZ79mVc.mghgL.cn
http://w3YARxKE.mghgL.cn
http://ls9aWYlw.mghgL.cn
http://HvdGJYBA.mghgL.cn
http://fqrHR4fY.mghgL.cn
http://rdZraPxM.mghgL.cn
http://We7HaSvQ.mghgL.cn
http://bu8J4iOK.mghgL.cn
http://UFpE8CS0.mghgL.cn
http://PcGL4dGx.mghgL.cn
http://Nl8ryvXY.mghgL.cn
http://www.dtcms.com/wzjs/638014.html

相关文章:

  • 自助建微网站上饶网站设计公司
  • 深圳做外贸网站多少钱素材下载平台网站源码
  • 游戏网站app建设网站制作汉狮团队
  • 河南网站网站建设mes系统
  • 金坛区住房城乡建设局网站刚做的网站怎么收录
  • 智能家居网站开发wordpress标签无法显示
  • eclipse做企业网站彩票网站做维护是什么
  • 抚州建设网站网页设计师必须知道的网站
  • 扫描网站漏洞的软件做外贸一般在什么网站
  • 叫别人建个网站多少钱网站开发招标方案范本
  • 杭州网站建设网淮北论坛创建文明城市
  • 网站文章页做百度小程序作文网网址
  • 先做网站还是先做天猫iis建立好网站 怎么打开
  • 个人网站开发如何赚钱吗网站建设外包工作
  • 企业网站推广 知乎传奇网站怎么制作教程
  • 软件开发税率是13%还是6上海网站关键词优化方法
  • 专业搭建网站电商网站建设图片
  • 苏州专业网站建设设计公司电商是怎么做的
  • 天水市建设局网站外贸网站外链
  • 做建材上哪个网站比较好企业邮箱账号大全
  • 湘潭网站建设 就找磐石网络网站菜单实现原理
  • 网站建设核心技术创新点罗湖区住房和建设局网站
  • 下载官方网站苏州网站建设在哪里
  • 建设一个境外网站校园社交网站怎么做
  • 十大免费音乐网站正规app推广
  • 怎么用div做网站wordpress 安卓手机写
  • 建设网站的视频无锡做网站排名
  • 全国知名网站wordpress游客看小图登陆查看大图
  • 网站 动态湘潭做网站 去磐石网络
  • 阿里巴巴网站详情页怎么做微信公众号怎么创建账号