【iOS面试题四】SwiftUI与Combine编程

APP(iOS烂笔头---您的iOS面试备考神器!)

该APP除了包含完整的内容,还有AI知识扩展。使用便捷、欢迎下载。

题库(一):Objective-C高级编程

题库(二):Swift编程语言

题库(三):SwiftUI编程思想

题库(四):SwiftUI与Combine编程

题库(五):函数响应式编程

题库(六):知识要点

一、简介

1、SwiftUI和Combine分别是什么?

(1) SwiftUI是声明式UI框架

(2) Combine是响应式编程框架,是用于处理数据流的,SwiftUI背后的数据处理的部分工作便是依赖于Combine框架。

2、Swift与ObjC的最重要区别

Swift提倡面向协议编程,ObjC提倡面向对象编程

3、响应式编程的核心是什么?

由状态驱动UI

4、编程思维分为哪两类?

传统指令式编程和函数响应式编程

二、你好,SwiftUI

1、指令式编程和声明式编程的区别

(1) 指令式编程:是教会计算机“怎么做”,它偏向于是“写给计算机的语言”。

(2) 声明式编程:是告诉计算机“做什么”,它偏向于是“写给人看的语言”。它通常是使用函数式或DSL(如数据库查询的SQL)方式来实现。

2、什么是声明式UI开发

(1) 代表UI层的View,一般来说并不是真实负责渲染的传统意义的视图层级,而是一个“虚拟的” 对View组织关系的描述(声明)。

(2) 决定UI的用户状态State被存储在某个或某几个对象中。

(3) 用一个函数描述View,这个函数的输入参数是State,即View = f(State)。

(4) 框架在State 改变时,调用上述函数获取对应新的State 的View,并与当前的View 进行差分计算,并重新渲染更改的部分。

(5) View = f(State),其中f是纯函数,也就是对于某个特定的State输入,所对应的View是确定的。

3、什么是view modifier?

作用于某个view,并生成原来值的另一个版本。它分为两类:

(1) 原地型modifier:定义在具体类型上,然后返回同样类型的modifier

(2) 封装类modifier:定义在view扩展中,将原view进行包装并返回新view的modifier

4、SwiftUI的用户界面是如何被驱动的?

在SwiftUI里,用户界面是严格被数据驱动的:在运行时,任何对于界面的修改,都只能通过修改数据来达成,而不能直接对界面进行调整和操作。相比于传统的UIKit 或AppKit,这在一定程度上对灵活性进行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tospery

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值