2015年12月30日
摘要: 通过 函数库,可以做一些比较有趣的修改,比如平常在使用 方法时,即便图片字符串名称填写错误,程序编译或运行时系统都不会提示出错。此处给原方法添加一个小改动,当image为nil时,使用NSLog打印输出台的方式提醒“加载失败” 解决方法一:创建UIIimage的子类,重写 方法 缺点:所有的加... 阅读全文
posted @ 2015-12-30 23:40 夏鲁鲁 阅读(457) 评论(0) 推荐(0) 编辑
  2015年12月25日
摘要: objc_msgSend 函数 在OC语言里面,消息在运行时会绑定为(C语言)方法。编译器会转化一个消息表达式: 任何在消息中传递的参数也会被objc_msgSend函数处理: 消息传递函数为动态绑定提供所有必要的内容: 首先,它找到选择器调用的过程(方法实现)。由于同一个方法在不同的类... 阅读全文
posted @ 2015-12-25 21:20 夏鲁鲁 阅读(1038) 评论(0) 推荐(0) 编辑
  2015年12月21日
摘要: 相同点 1. 都用来描述软件界面 2. 都用Interface Builder工具来编辑 3. 本质都是转换成代码去创建控件 不同点 1. Xib是轻量级的,用来描述局部的UI界面 2. Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系 Xib的... 阅读全文
posted @ 2015-12-21 23:05 夏鲁鲁 阅读(130) 评论(0) 推荐(0) 编辑
  2015年12月20日
摘要: 1.什么是Block Block是iOS中一种比较特殊的数据类型 Block是苹果官方特别推荐使用的数据类型, 应用场景比较广泛 + 动画 + 多线程 + 集合遍历 + 网络请求回调 Block的作用 + 用来保存某一段代码, 可以在恰当的时间再取出来调用 + 功能类似于函数... 阅读全文
posted @ 2015-12-20 22:04 夏鲁鲁 阅读(310) 评论(0) 推荐(0) 编辑
  2015年12月16日
摘要: 重用UITableViewCell对象 UITableView控件十分常见,基本上我们随意打开一款App都能见到,它被用来列表展示数据,而其中的每一行内容都是一个cell对象 我们知道手机设备上的内存有限,如果某个列表包含很多行的内容,也就是说要创建很多个cell对象的话,内存资源很快就会被消... 阅读全文
posted @ 2015-12-16 22:07 夏鲁鲁 阅读(180) 评论(0) 推荐(0) 编辑
  2015年12月14日
摘要: 单例模式 单例是设计模式中十分常见的一种,在iOS开发中也会经常用到。 当有多处代码块需要使用同一个对象实例时,单例模式可以保证在程序运行过程,一个类只有一个实例(而且该实例易于供外界访),从而方便地控制了实例个数,节约系统资源 单例的实现 类的 方法内部其实调用了 方法。创建一个该... 阅读全文
posted @ 2015-12-14 21:04 夏鲁鲁 阅读(170) 评论(0) 推荐(0) 编辑
  2015年12月11日
摘要: 相关概念 1. 栈 当程序执行某个方法(或函数)时,会从内存中名为 栈 (stack)的区域分配一块内存空间,这块内存空间称为 帧 (frame)。帧负责保存程序在方法内声明的变量的值。在方法内声明的变量称为局部变量(local variable)。 当某个应用启动并运行main函数时,它的帧... 阅读全文
posted @ 2015-12-11 23:24 夏鲁鲁 阅读(145) 评论(0) 推荐(0) 编辑
  2015年12月8日
摘要: 懒加载的使用 了解懒加载之前我们先设想这样一个场景:我们知道一个屏幕范围内显示的内容有限,有更多的内容是需要通过滚动屏幕、或者是跳转到另外一个界面去展现的。那么问题来了,创建好的对象是需要占用内存的,这部分可能所占比例相当多的“屏幕外内容”,如果也得在一开始就先创建好它们的实例对象,会不会有些浪... 阅读全文
posted @ 2015-12-08 22:49 夏鲁鲁 阅读(242) 评论(0) 推荐(0) 编辑
  2015年12月7日
摘要: 自定义View 通常当一个view内部的子控件比较多,我们一般会考虑自定义一个view,在它的内部将子控件的创建屏蔽起来,这样外界就不用关心具体如何实现,只要导入这个类的.h文件使用就好了 注意一个控件有2种创建方式: 通过代码创建: 初始化时一定会调用initWithFrame:方法 ... 阅读全文
posted @ 2015-12-07 22:30 夏鲁鲁 阅读(246) 评论(0) 推荐(0) 编辑
  2015年12月6日
摘要: 综述 初步阶段当我们做个需要点数据的练习时(比如购物商品展示),我们可能是将数据直接写在代码中,比如说定义一个字符串数组或存放字典的数组。但这其实并不是一种合理的做法。因为如果当数据修改的时候,就要经常翻开对应的代码进行修改,造成代码扩展性低。 因此,可以考虑将经常变的数据放在文件中进行存储,... 阅读全文
posted @ 2015-12-06 21:59 夏鲁鲁 阅读(2414) 评论(0) 推荐(0) 编辑