swift UI专项训练4 场景过渡-转场

上一话中我们创建了两个场景,这一话我们想要实现两个场景间的过渡。在tableviewcontroller最顶端会空出一个区域来,我们可以在里面命名,比如我命名为“餐馆排行”,在导航栏上左右各添加一个按钮,去控件中寻找BarButtonItem,这个是专门用到导航条或者工具栏上的。接下来要通过第一个场景中的加号,点击后跳转到第二个场景。

Swift 条件编译

在C系语言中,可以使用#if或者#ifdef之类的编译条件分支来控制哪些代码需要编译,而哪些代码不需要。Swift中没有宏定义的概念,因此我们不能使用#ifdef的方法来检查某个符号是否经过宏定义。但是为了控制编译流程和内容,Swift还是为我们提供了几种简单的机制来根据需求定制编译内容的。Swift内建了几种平台和架构的组合,来帮助我们为不同的平台编译不同的代码,具体地:方法os(),可选参数OSX,iOS方法arch(),可选参数x86_64,arm,arm64,i386注意这些方法和参数都是大小写敏

swift 中as的作用

可以理解为类型转换,当返回值是AnyObject时需用到as。swift的一个重大的改进就是更像自然语言了,所以as的意思也就是字面上的意思:把什么当成什么。比如dictionary["about"]asString,从字典取出来的是一个“id”类型的

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 05 Strings and Characters

Swift所代表的字符串是字符串类型,进而代表字符类型的值的集合//Swift的String和Character类型提供了一个快速的,兼容Unicode的方式来处理代码中的文本信息。每一个字符值代表一个Unicode字符,我们可以利用for-in循环来遍历字符串中的每一个字符println}//定义一个字符常量letyenSign:Character="$"printlncharacters")//使用"countElements()"函数来获取字符串的长度//8.ConcatenatingStrings

swift UI专项训练5 定制视图控制器

我们现在已经添加了两个场景了,尽管我们有默认的视图控制器,但是我们还是想自己定制一下自己的控制器,我们之前一直在storyboard上做操作,现在来些一些代码。在工程目录中右键选择newfie,在IOS的Source中选择CocoaTouchClass,设置如下图:点击Next,可以看到xcode给我们创建了一个继承了UIViewController的类:选中新增餐馆的viewcontroller,然后在右边选中类编辑器,customclass中选择我们自己的类,选中后现在变成我们自己的类来接管了。

Swift UI专项训练6 反向过渡

上一话中我们第二个场景设置过渡的时候选择的是modal类型,不是push。所以用户输入后需要手工返回。导航条上有两个按钮,完成和取消。所以我们要对这两个按钮进行反向过渡,我们需要在事件源头添加@IBAction。现在表格的内容没有了,我们选中表格,把静态内容改成动态的,为后面的工作做准备。

Swift UI专项训练7 数据添加

上一话我们使用了自己定义的控制器之后发现tableview上的餐馆没有了,这一话我们来添加数据,新添加一个餐馆类,这个类我们不需要继承系统的类,直接添加一个swift文件就好我简单建一个类,分别代表餐馆名字、餐馆位置和餐馆评分,它们都有默认值。之后添加一个方法来初始化数据。通常单元格的每一行的格式都是相同的,所以我们需要设一个默认格式来重用,打开storyboard,选择某一tableviewcell然后设定Identifier,命名为PCell。

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 08 Functions

给一个函数起一个适合的名字,用来标识函数是做什么的,当函数执行时,调用函数名即可Swift中的函数语法灵活,可以用来表示任何函数,包括从最简单的没有参数名的C风格函数,到复杂带局部和外部参数名的Objective-C风格函数。"returngreeting}println//1.FunctionParametersandReturnValues//函数可以有多个输入参数funcminusResult->Int{//函数可以有多个输入参数,在圆括号中用逗号分隔returnend-start}(minusRe