6 J_Knight

尚未进行身份认证

iOS开发|上海

等级
TA的排名 7w+

使用Block实现KVO

在iOS开发中,我们可以通过KVO机制来监听某个对象的某个属性的变化。用过KVO的同学都应该知道,KVO的回调是以代理的形式实现的:在给某个对象添加观察以后,需要在另外一个地方实现回调代理方法。这种设计给人感觉比较分散,因此突然想试试用Block来实现KVO,将添加观察的代码和回调处理的代码写在一起。在学习了ImplementKVO的实现以后,自己也写了一个:SJKVOControllerSJKVO

2017-05-15 08:56:32

《Objective-C 高级编程》干货三部曲(三):GCD篇

我们知道在iOS开发中,一共有四种多线程技术:pthread,NSThread,GCD,NSOperation:-前两者是面向线程开发的多线程技术,需要开发者自己去维护线程的生命周期,比较繁琐。-后两者是面向队列开发的多线程技术,开发者仅仅定义想执行的任务追加到适当的DispatchQueue(队列)中并设置一些优先级,依赖等操作就可以了,其他的事情可以交给系统来做。在这一章里,作者主

2017-04-24 09:52:48

《Objective-C 高级编程》干货三部曲(二):Blocks篇

这一章讲解了Block相关的知识。因为作者将Objective-C的代码转成了C++的代码,所以第一次看的时候非常吃力,我自己也不记得看了多少遍了。这篇总结不仅仅只有这本书中的内容,还有一点在其他博客里看过的Block的相关知识,并加上了自己的理解,而且文章结构也和原书不太一致,是经过我的整理重新排列出来的。

2017-04-17 08:55:58

《Objective-C 高级编程》干货三部曲(一):引用计数篇

总结了EffectiveObjective-C之后,还想读一本进阶的iOS书,毫不犹豫选中了《Objective-C高级编程》:这本书有三个章节,我针对每一章节进行总结并加上适当的扩展分享给大家。

2017-04-10 08:52:24

基于MVVM,用于快速搭建设置页,个人信息页的框架

写一个小小轮子~写UITableView的时候,我们经常遇到的是完全依赖于网络请求,需要自定义的动态cell的需求(比如微博帖子列表)。但是同时,大多数app里面几乎也都有设置页,个人页等其他以静态表格为主的页面。而且这些页面的共性比较多:1.大多数情况下在进入页面之前就已经拿到所有数据。2.cell样式单一,自定义cell出现的几率比较小(几乎都是高度为44的cell)。3.多数都分组。

2017-03-23 08:33:42

[iOS开发项目-11] 英雄列表

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:英雄列表2.项目截图展示3.项目功能单纯显示英雄数据4.项目代码VC.m#import"ViewController.h"#import"SJHero.h"@interfaceViewController()<UITableViewDataSource,UITableViewDelegate>@property

2015-11-07 22:58:42

[iOS开发项目-10] 图片轮播器

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:图片轮播器2.项目截图展示3.项目功能打开程序实现图片自动滚动。能够左右拖动图片,能静止图片滚动。3.项目代码#import"ViewController.h"#definekImageCount5@interfaceViewController()<UIScrollViewDelegate>@proper

2015-10-11 16:25:55

[iOS开发项目-9] 倒计时时钟

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:倒计时时钟2.项目截图展示3.项目功能点击播放按钮,倒计时开始。点击暂停按钮,倒计时暂停。再点击播放按钮,倒计时继续。倒计时时钟运行时,可以滚动textView的滚动条。3.项目代码#import"ViewController.h"@interfaceViewController()@property(non

2015-10-08 14:47:36

[iOS开发项目-8] 喜马拉雅电台

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:喜马拉雅电台2.项目截图展示3.项目功能单纯的显示和滚动功能3.项目代码#import"ViewController.h"@interfaceViewController()@property(weak,nonatomic)IBOutletUIScrollView*scrollView;@property

2015-10-07 00:49:46

[iOS开发项目-8] 查看大图

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:查看大图2.项目截图展示3.项目功能左右滑动查看图片支持缩放功能点击中间按钮移动图片3.项目代码#import"ViewController.h"@interfaceViewController()<UIScrollViewDelegate>@property(strong,nonatomic)IBOut

2015-10-07 00:12:08

[iOS开发项目-7] 超级猜图

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:超级猜图2.项目截图展示3.项目功能点击图片或“大图”按钮,图片放大;再点击图片或点击周围区域,图片复原。点击备选按钮,相应字填入答案区按钮。按“下一题”按钮或答案正确:进入下一题。点击答案区某按钮,相应字回到备选区原来位置。点击“帮助按钮”会清空答案区按钮,并提示正确答案的第一个字。答案正确或错误都有相应的扣分和

2015-10-06 23:21:59

[iOS开发项目-6] 应用程序管理

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:应用管理2.项目截图展示3.项目功能展示应用图标,名称和下载按钮点击下载按钮,出现“正在下载”图标3.项目代码模型代码:AppInfo.h#import<Foundation/Foundation.h>#import<UIKit/UIKit.h>@interfaceAppInfo:NSObject@pr

2015-10-02 18:26:45

[iOS开发项目-5] 图片浏览器

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:图片浏览器2.项目截图展示3.项目功能点击左右按钮浏览图片,更新序号,图片,描述内容。图片一共五张:显示第一张图片的时候,左边的按钮失效;显示最后一张按钮的时候,右边的按钮失效。4.项目代码#import"ViewController.h"@interfaceViewController()@property

2015-09-29 11:14:15

[iOS开发项目-4] 汤姆猫(只包含动作,没有发声功能)

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:汤姆猫2.项目截图展示3.项目功能点击特定按钮,播放动画3.项目代码#import"ViewController.h"@interfaceViewController()@property(weak,nonatomic)IBOutletUIImageView*tom;@end@implementatio

2015-09-28 00:25:35

[iOS开发项目-3] 按钮控件的移动,放大缩小,左右旋转操作

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:按钮操作2.项目截图展示3.项目功能点击按钮,切换按钮状态上下左右移动按钮放大,缩小按钮左右旋转按钮4.项目代码#import"ViewController.h"//设置按钮移动速度#defineKMovingDelta20//设置按钮标签枚举值typedefenum{kMovingDirTo

2015-09-27 23:39:11

[iOS开发项目-2] 用户登录界面

本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:用户登录项目功能:能够输入用户名和密码点击按钮后输出用户名和密码细节功能:刚进入界面即打开键盘输入用户名后点击return键,光标自动跳到密码输入框中输入密码后点击return键,直接调用登录方法并关闭键盘2.项目截图展示3.代码#import"ViewController.h"@interfaceVie

2015-09-27 00:59:20

[iOS开发项目-1] 加法计算器

时隔一个月没写博客了,这段时间由于杂事繁多,没有及时整理好学习内容。现在就将笔者在这段时间里学习的iOS项目和iOS面试有关的题目整理出来呈现给大家。本项目是取自传智播客的教学项目,加入笔者的修改和润饰。1.项目名称:加法计算器2.项目截图展示3.代码#import"ViewController.h"@interfaceViewController()@property(nonato

2015-09-26 23:26:32

[读书笔记—程序员]《高效程序员的45个习惯:敏捷开发修炼之道》- 苏帕拉马尼亚姆,亨特

虽然不记得阅读本书用了多久,但是整理本书的读书笔记用了两个小时的时间,因为本书的大部分内容对于笔者来说都是新知识,很难进行归纳总结本书所讲的是程序员应具有的工作态度和在团队中作为开发者和领导者具备的各种”敏捷的”习惯。虽然本书对于程序员的硬实力(本书讲解的编程语言是面向对象类语言,但是讲解的代码非常少)帮助不大,但是对于程序员应该具备的软实力的培养和提高有极大的帮助,是每位程序员都应该反复阅读的书籍

2015-08-19 01:30:39

[学习笔记—Objective-C]《Objective-C-基础教程 第2版》第十三章 协议

13.1协议正式协议:包含了方法和属性的有名称列表。注意:采用协议后,类就要实现该协议的所有方法。通常情况下,一个协议只有少数几个需要实现的方法.在协议中,不会引用新的实例变量。13.11声明协议NSCopying协议@protocolNSCopying-(id)copyWithZone:(NSZone*)zone;@end//如果采用了NSCopying协议,你

2015-08-11 20:29:36

[读书笔记—效率]《超级整理术》- [日]泉正人

作者简介:泉正人,麻省理工学院斯隆商学院行政管理硕士学位,设立了最大的独立金融教育机关-日本金融学习株式会社。笔者的话:不同于以往的整理方面的书籍,本书作者介绍了多方面的整理术:公司内办公文件的整理,电脑与电子邮件的整理,对大脑内容的整理和对时间的整理。虽然笔者给自己的定位不是像本书作者那样的商务人士,但是其高效的整理理念还是值得借鉴的。第一章:为什么我们需要整理整理的目的不仅仅为了干净,

2015-08-09 22:57:45

查看更多

勋章 我的勋章
    暂无奖章