礼拜三,兔子回归,继续上次的苹果开发~

本文介绍了Swift语言中强大的类型推理特性,通过定义枚举和使用字典来存储操作符及其对应的运算逻辑。同时,还分享了利用Auto Layout轻松完成界面布局的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先接着上次的说一下swift的强大推理能力~

先附上一段代码,看过代码也就明白了~

先声明一个枚举变量,op

private enum Op: {

        case Operand(Double)

        case UnaryOperation(String, Double -> Double)

        case BinaryOperation(String, (Double,Double) -> Double)

}

接下来是一个字典类型的变量,所谓字典,其实就和java里面的map类似,只不过,和一个key相对的不仅仅可以是一个变量,甚至可以是一个函数!是不是很腻害~

private var knownOps = [String:Op]()

下面就是见证奇迹的时刻咯~

UnaryOperation和BinaryOperation都是枚举变量op生命的函数,下面的这一段代码,其实是在给knownOps做初始化的设置,以BinaryOperation为例,第一个参数是String类型,第二个参数是一个方法,该方法输入类型是两个double,返回值依旧为double。该方法如下所示可以写在括号外面:例如Op.BinaryOperation("÷") { $1/$0 }。$符号的含义想必大家都懂的喔~只需要写{ $1/$0 }酱紫的句子,swift就能明白了,这个函数的功能是,第二个参数除以第一个参数,并将该值返回~因为函数功能简单,所以连return都可以省略~

  knownOps["×"] = Op.BinaryOperation("×",*)

        knownOps["÷"] = Op.BinaryOperation("÷") { $1/$0 }

        knownOps["+"] = Op.BinaryOperation("+",+)

        knownOps["−"] = Op.BinaryOperation("−") { $1-$0 }

        knownOps["√"] = Op.UnaryOperation("√", sqrt)

是不是超级高大上,我和我的小伙伴都惊呆了~

继续学习swift开发的路上,发现苹果的底层封装都非常完美~开发者只需要做很简单的工作,就可以搭建起来手感很好的app。

搭建界面也比较轻松,因为autolayout用起来很方便。从右下方的元素中拖拽需要的控件到view controller中,然后按住ctrl对其加以约束(constrains)。右边的size inspector中可以显示出其约束们的信息,开发者可以对它们进行编辑和删除等等~调整完毕后,应该是木有报错才对,之后选择update frames,bingo大功告成了。布局成功以后,成就感满满的~

其实调节布局并非易事,因为不同的设备显示界面并不相同,根据设备的高宽,在size class中分为常规regular和压缩(compact?好像是这么拼吧),举个栗子�来说,爱疯6竖屏的时候的高度就是regular,而宽度就是compact;但是横过来呢,不管是高度还是宽度,就都变成了compact~布局的时候应该考虑到不同设备屏幕大小~和屏幕旋转时的问题~

今天就到这里啦~作为一只兔子要去蹦跶一会儿了~




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值