继续公开课笔记,这篇笔记是第2和3课的。主要内容是完成CardMatchingGame,是类似对对碰的翻牌匹配游戏,根据两张牌的匹配程度计算分数。完成后的效果大概是这样:
对MVC的一些新的体会
之前的一篇关于MVC的笔记《iOS学习笔记——MVC》是听了第一课后的想法,是脱离实践的,通过这次对CardMatchingGame的学习,有一些补充。
继续公开课笔记,这篇笔记是第2和3课的。主要内容是完成CardMatchingGame,是类似对对碰的翻牌匹配游戏,根据两张牌的匹配程度计算分数。完成后的效果大概是这样:
之前的一篇关于MVC的笔记《iOS学习笔记——MVC》是听了第一课后的想法,是脱离实践的,通过这次对CardMatchingGame的学习,有一些补充。
SwitchButton是我在Android上开发的一个开源项目。Github:https://github.com/kyleduo/SwitchButton
最初的原型在很早就做了,但是没有发到Github上。后来使用的时候逐渐发现一些Bug和不合理的地方,修改起来也比较麻烦,鉴于现在很多UI都扁平化了,干脆做个更好用、更适合扁平效果的版本,然后开源出来。
昨天跟朋友说:如果明天天气好,我想去朝阳公园拍照。结果今天天气还真得超好,可惜啊可惜,下午睡觉睡太久了,所以就放弃了超验公园,就近去了798。应该是751国际设计节的原因,798里面就跟停车场似的。再加上几个个展开放,美女也很多,各种类型。不过我不是去看美女的,所以就走了人少的路线,来了无数次了,没有太新奇的地方,今天过来练习摄影。
小店橱窗里的天使,俏皮地向上看,是在期待着什么?
虽然我的文章不多,访客也不多,但是我觉得能够给访客留下印象的,应该还是配图比文章更多一些。我的工作是软件开发,弄个博客把那么多时间放到画配图上,图什么呢?因为我喜欢设计。我开玩笑说我画图是不务正业,其实,写博客并不是我的工作,但当我把我喜欢做的事,和我的工作联系起来,当我把博客作为生活的一部分,我感到满足。
今天看了一集斯坦福的iOS7开发公开课。里面提到了MVC策略,曾经我也看过一些MVC的文章,但是始终理解不深,今天看完后却有一种恍然大悟的感觉,可能和接触的程序多了也有关系吧。但是那个白胡子大叔讲得确实很清晰明白,配合动画,就让我比较容易理解,事实证明我还是喜欢看动画的。
请注意,下面所说的是公开课的内容和自己基于公开课内容的理解,所以更大程度偏重于iOS下的MVC。
这篇文章对OC中的变量做一下整理,主要有成员变量/实例变量、属性/属性变量、全局变量。先说一下各个变量的定义位置:
- 成员变量/实例变量:定义在@interface或@implementation语句紧随的大括号里面的变量。
- 属性/属性变量:定义在@interface部分的@property后面的变量。
- 全局变量:在@interface或@implementation语句之前的变量。
- 静态变量:在@implementation中,使用static进行说明的变量。
下面用图片说明:
和Java丰富的教程资源不同,OC的教程相比起来就少得多了,而且很多就是E文的。所以虽然通常看视频上手快些,但实际上对于OC来说,买本书是个不错的选择。看了网上的评价,选择了《Object-C程序设计(第4版)》,现在第六版已经出版了,但是为毛第四版还涨价了 -_-|||
有个段子:
说有个程序员为了陶冶情操,提升生活品质,想在闲暇时间学习书法。一天,他把宣纸铺好,拿起笔,迟疑了几秒,慎重地在纸上写下了“Hello Wrold”。
每个程序员对Hello World都不会觉得陌生。OC也从这里开始:
在开始Android开发近两年之后,我拿起了Object-C的教程。是的,iOS也不太远了。
为什么不是Swift?先用OC熟悉下Xcode,顺便还能开发个MacOS上的小工具什么的嘛。另外XCode6和Yosemite还没正式版,不敢贸然升级。
先说说对OC的感觉。其实就是对C的感觉,这几天写OC让我想起了以前在学校学C的感觉,还有点怀念。之前有看到网友说其实OC中的面向对象思想,比Java要更纯粹。刚看了几天,我不敢口出狂言,说几个这几天感受到的细节:
1. OC的开闭原则比Java更彻底。OC里面的接口和实现是完全分离并且是强制分离的:接口使用
@interface
能见到好久不见的好朋友,这是今天最幸福的事情。还像在学校一样,相互没有顾虑和客套,坐在小店里,走在北海边,抚摸杨柳,享受秋风;谈谈现在的生活,想想未来的日子;故友相见,人生一大乐事。
晚上和曾经的室友撸串喝酒逛校园,还像曾经一样调侃、阔谈,真好;已经没有多少机会卧谈了,祝你我都顺利。
上周入手了我的第一台单反,很久的愿望终于实现了。
看着厚厚的说明书和复杂的按键,发现摄影比我想象的还要难得多,够我消化好一阵的了。今天好朋友出差来北京,刚好带出去拍一下,因为实在不熟练,大多都是在auto模式下拍的,从不多的照片里挑出一张还算不错的,但还是忍不住做了些后期。贴出来记录一下,以后只能比这好,不能比这差。
—— 拍摄于 2014年9月13日 北海·北京
上一篇《Android Canvas Matrix —— 从CircleImageView说起》是我对CircleImageView项目的学习和思考,这篇说一下从“绘制圆形头像”这个出发点深入下去的收获——如何将Bitmap绘制出来,如何控制Bitmap的绘制过程。
参见上图,绘制Bitmap的方法,基本有两种:1. Canvas.drawBitmap();方法。2. 和CircleImageView中的做法一样,使用BitmapShader,将Bitmap作为Paint的属性。