随笔分类 -  iOS

Block作为返回值时的使用
摘要:昨天使用一个小例子简单说明了下Block作为参数时的使用。 今天再来复习一下Block作为返回值使用时的情况,先贴一小段热门第三方框架Masonry的官方sample code: 其中关于 之前没接触过这类用法的童鞋,可能看到这行代码就瞬间一脸懵逼了(挖槽(⊙□⊙) ,点语法接括号参数再接点语法是什 阅读全文
posted @ 2016-01-22 21:51 夏鲁鲁 阅读(8691) 评论(0) 推荐(1)
Block作为参数时的使用
摘要:Block作为参数使用,常见于各框架之中,比如在封装一个类时,当做什么事情由外界去决定,什么时候调用由自己的类决定时,这时候就需要将block作为参数使用。 下面我们模仿AFNetworking的manager,以自定义一个简单的工具类CalculatorManager为例: 1.Calculato 阅读全文
posted @ 2016-01-21 22:53 夏鲁鲁 阅读(15069) 评论(0) 推荐(0)
AFNetwork 作用和用法详解
摘要:转自:http://blog.csdn.net/codywangziham01/article/details/38088017 AFNetworking是一个轻量级的iOS网络通信类库。它建立在NSURLConnection和NSOperation等类库的基础上,让很多网络通信功能的实现变得十... 阅读全文
posted @ 2016-01-15 23:49 夏鲁鲁 阅读(219) 评论(0) 推荐(0)
UIScrollView监听静止的数种情况
摘要:1.直接通过block 2.代理中的 方法 触发条件: 使用setContentOffset:animated:或者scrollRectToVisible:animated:方法让scrollView产生滚动动画 3.代理中的 方法 触发条件: 人为拖拽scrollView产... 阅读全文
posted @ 2016-01-14 23:14 夏鲁鲁 阅读(319) 评论(0) 推荐(0)
UIAppearance
摘要:通过UIAppearance,我们可以轻松的统一管理app界面的某些外观属性,以UINavigationBar为例有如下两个方法: 1. 2. 方法一是拿到应用中所有出现的UINavigationBar对象 方法二是拿到某个某个类中出现的UINavigationBar对象 示例代码,搭配富... 阅读全文
posted @ 2016-01-13 23:34 夏鲁鲁 阅读(174) 评论(0) 推荐(0)
自定义Log实现条件编译
摘要:在项目pch中添加以下代码,其中DEBUG为Xcode项目自带的宏,存在时表示当前为调试状态,否则为发布状态。故当在发布状态时,通过自定义TestLog所使用的NSLog调试信息,都会被预编译替换为空。 阅读全文
posted @ 2016-01-12 23:13 夏鲁鲁 阅读(269) 评论(0) 推荐(0)
使用运行时函数实现方法交换
摘要:通过 函数库,可以做一些比较有趣的修改,比如平常在使用 方法时,即便图片字符串名称填写错误,程序编译或运行时系统都不会提示出错。此处给原方法添加一个小改动,当image为nil时,使用NSLog打印输出台的方式提醒“加载失败” 解决方法一:创建UIIimage的子类,重写 方法 缺点:所有的加... 阅读全文
posted @ 2015-12-30 23:40 夏鲁鲁 阅读(470) 评论(0) 推荐(0)
Xib与Storyboard相关知识点
摘要:相同点 1. 都用来描述软件界面 2. 都用Interface Builder工具来编辑 3. 本质都是转换成代码去创建控件 不同点 1. Xib是轻量级的,用来描述局部的UI界面 2. Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系 Xib的... 阅读全文
posted @ 2015-12-21 23:05 夏鲁鲁 阅读(144) 评论(0) 推荐(0)
重用UITableViewCell对象的概念
摘要:重用UITableViewCell对象 UITableView控件十分常见,基本上我们随意打开一款App都能见到,它被用来列表展示数据,而其中的每一行内容都是一个cell对象 我们知道手机设备上的内存有限,如果某个列表包含很多行的内容,也就是说要创建很多个cell对象的话,内存资源很快就会被消... 阅读全文
posted @ 2015-12-16 22:07 夏鲁鲁 阅读(195) 评论(0) 推荐(0)
实现单例模式
摘要:单例模式 单例是设计模式中十分常见的一种,在iOS开发中也会经常用到。 当有多处代码块需要使用同一个对象实例时,单例模式可以保证在程序运行过程,一个类只有一个实例(而且该实例易于供外界访),从而方便地控制了实例个数,节约系统资源 单例的实现 类的 方法内部其实调用了 方法。创建一个该... 阅读全文
posted @ 2015-12-14 21:04 夏鲁鲁 阅读(178) 评论(0) 推荐(0)
懒加载lazyload
摘要:懒加载的使用 了解懒加载之前我们先设想这样一个场景:我们知道一个屏幕范围内显示的内容有限,有更多的内容是需要通过滚动屏幕、或者是跳转到另外一个界面去展现的。那么问题来了,创建好的对象是需要占用内存的,这部分可能所占比例相当多的“屏幕外内容”,如果也得在一开始就先创建好它们的实例对象,会不会有些浪... 阅读全文
posted @ 2015-12-08 22:49 夏鲁鲁 阅读(264) 评论(0) 推荐(0)
View的封装
摘要:自定义View 通常当一个view内部的子控件比较多,我们一般会考虑自定义一个view,在它的内部将子控件的创建屏蔽起来,这样外界就不用关心具体如何实现,只要导入这个类的.h文件使用就好了 注意一个控件有2种创建方式: 通过代码创建: 初始化时一定会调用initWithFrame:方法 ... 阅读全文
posted @ 2015-12-07 22:30 夏鲁鲁 阅读(301) 评论(0) 推荐(0)
Plist文件与数据解析
摘要:综述 初步阶段当我们做个需要点数据的练习时(比如购物商品展示),我们可能是将数据直接写在代码中,比如说定义一个字符串数组或存放字典的数组。但这其实并不是一种合理的做法。因为如果当数据修改的时候,就要经常翻开对应的代码进行修改,造成代码扩展性低。 因此,可以考虑将经常变的数据放在文件中进行存储,... 阅读全文
posted @ 2015-12-06 21:59 夏鲁鲁 阅读(2499) 评论(0) 推荐(0)