【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记17 Deledgation代理
上一话中介绍了扩展和协议的相关知识,这一话我们介绍一个很重要的概念delegation(代理),代理是协议的一个很重要的应用。我们来回顾一下代理的相关知识,它是控制器和试图通讯的关键。 那么代理是如何工作的呢 1.你需要创建一个代理协议,它描述了这个试图要帮别人做的事情。 2.在你的视图中创建一个属性,称作代理或者有时也叫数据源,这个属性的类型就是你创建的代理协议。 3.然后你使用这个属性去...
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记16 Extensions扩展、Protocols协议
扩展就是给一个现存类、结构体和枚举添加新的属性或者方法的小语法。你无需修改目标的源代码,你就可以把想要的代码加到目标上面。 扩展有些限制条件需要说明:首先你不能添加一个已经存在的方法或者属性。 此外,你添加的属性不能是存储属性,只能是计算属性。 这是个很好的特性,但是容易被人们误用,比如有些人添加了完全不明作用的方法,另外设计这个类的人考虑了很多关于API的东西,但是现在被加进了新东西。扩展对.....
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记15 storyboard中的绘图 MVC模式
上一话中我们实现了对一个小人表情的绘制,但是我们需要修改代码才能实现表情的变换,而且我们也没有一个明确地模型,这很明显不符合MVC的要求,这一话中我们将要修改它已符合MVC的要求。 在上一话中我们已经完成了faceView的代码,但是HappinessViewController中完全是空的,我们要修复我们的Model,但是在那之前要介绍一些storyboard中很酷的功能。打开你工程中的sto....
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记14 视图绘制Demo
这一话的任务是在视图中绘制一个小人脸,你可以控制他的嘴角弧度以表示开心后者伤心。 新建一个工程,然后拖一个空的view进去,对齐蓝线然后适应尺寸,这都是我们之前讲过的内容了。 然后新建一个FaceView的UIView类。然后把拖拽的视图与FaceView关联,这里有个小技巧,因为我们的视图是铺满整个屏幕的,所以你想选中view或者viewcontroller会有困难,那么按住shift和co.....
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记13 Drawing绘制、UIColor颜色、Fonts字体
上一话介绍了视图绘制的一些基本原理,这一话继续展开。UIBezierPath可以绘制许多有趣的图形。 使用不同的构造器,比如roundedRect就是四个角被磨圆了的矩形,或者干脆是椭圆和圆。你甚至可以剪切任意的path,剪切使用addClip方法,在剪切了之后你可以针对剪切的这部分进行操作,例如你正在绘制一个卡片,这个卡片有小小的圆角效果,你可以把卡片绘制在一个矩形里面,然后把它剪切到一个小.....
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记12 Custom Views视图绘制1
这一话来讲解一下视图的绘制,首先介绍一下相关的结构体 视图中的所有coordinate(坐标)的类型都是CGFloat,CGFloat在Swift中是结构体,在处理视图绘制和手势识别的时候我们使用的都是CGFloat,不要用我们常规的Double和Float。你可以通过使用CGFloat的初始化方法把Double或者Float类型的数据转换成CGFloat。 另外一个结构体是CGPoint,它.....
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记11 View视图
一个view(视图)是IOS中UIView的子类,标示了屏幕上的一个长方形区域,定义了一个坐标系空间来绘图,并且处理触摸的操作。 view是有层次的,一个view只能有一个superview,但是可以有多个subview。你可以获取一个view,当然返回值是可选的,或者获取一个view的所有subview,返回值是一个数组,虽然这个数组中的元素其实是AnyObject,因为一些历史遗留原因,不.....
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记10 Property List
这一话来讲一个AnyObject的应用:Property List。 property list不是任何一种类型,它属于一种工具类的东西。它表面上是AnyObject,但是在后台,它是NSString、NSArray、NSDictionary、NSNumer、NSData和NSDate这六种类型中的一种,或者它们桥接到Swift中的版本。我们为什么要用property list呢,它...
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记9 Objective-c Compatibility
我们都知道在Swift诞生之前进行IOS开发一直使用Objective-c这门语言。OC和Swift之间需要一个桥接。 IOS中的API基本都是在许多年前由OC写成的,现在在Swift中也可以用,甚至你都看不出区别,非常自然。有一些特殊的类型,在交接两种语言的时候需要注意,这使得使用OC调用IOS的API的时候会比Swift容易很多。 首先是NSString,这是String以前的形式,在IO.....
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记8 String、Type Conversion、Assertions
处理字符串的难点是字符串的索引和创建字符串等其他的问题以及如何创建一个字符串的子串。 字符串是由Unicode组成的,你不要把Unicode组成的字符串的子串看做Unicode字符,而是把它们拆分成Unicode字素,所以我们不能像数组中那样索引,因为会遇到有的字素是由多个字符组成,这样会把一个完整语义的字素拆成了两个字符从而改变了原意。所以字符串是由另外的一个类型来索引的,这种类型就是Str.....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
mPaaS 移动开发平台
mPaaS 源于蚂蚁集团金融科技,为 App 开发、测试、运营及运维提供云到端的一站式解决方案,致力于提供高效、灵活、稳定的移动研发、管理平台。 官网地址:https://www.aliyun.com/product/mobilepaas/mpaas
+关注