06 2017 档案
摘要:一、二分法 1.二分法只适用于已经做好排序的数列。 2.二分法(Bisection method) 即一分为二的方法. 设[a,b]为R的闭区间. 逐次二分法就是造出如下的区间序列([an,bn]):a0=a,b0=b,且对任一自然数n,[an+1,bn+1]或者等于[an,cn],或者等于[cn,
阅读全文
摘要:一、简介 Core Data是一个纯粹的面向对象框架,可用于管理实体以及实体之间的关联关系的持久化。 所谓持久化,指的是Core Data可以将实体保存到持久化存储设备中,也可以在需要的时候取出来。 二、特点 1.Cora Data底层的存储方式可以是SQLite,也可以是XML。 2.Core D
阅读全文
摘要:一、简介 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效
阅读全文
摘要:一、简介 1.iOS常用的5中存储方式 (1)plist (2)preference(用户属性) (3)归档 (4)数据库 (5)core data 其中(1)(2) (3) 都只能存储小型的数据,因为他们的数据存储要求必须完成,每次都必须全部读出,全部写入,如果有1000条数据,那么加入1001条
阅读全文
摘要:一、简介 在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦; 偏好设置(将所有的东西都保存在同一个文件夹下面,且主要用于存储应用的设置信息 归档:因为前两者都有一个致命的缺陷,只能存储常用的类型。归档可以实现把自定义的对象存放在文件中。 二、使用 p
阅读全文
摘要:一、简介 NSUserDefaults类是一个单例类,每个程序只有一个 NSUserDefaults对象,可以用来存储用户的属性,比如自动登录时候的账号密码等小型的数据。 二、使用 1.NSUserDefaults对象的获取 2.数据的存储 3.数据的读取 三、存储位置 NSUserDefaults
阅读全文
摘要:一、代理 1.代理的介绍 代理是一种通用的设计模式 代理使用方式:A 让 B 做件事,空口无凭,签个协议。 所以代理有三部分组成: 委托方: 定义协议 协议 : 用来规定代理方可以做什么,必须做什么 代理方: 按照协议完成委托方的需求 2. 协议的介绍 协议是定义了一套公用的接口,是方法的列表,但是
阅读全文
摘要:一. KVC 1.KVC介绍 KVC 就是键值编码(key-value-coding)。 2.KVC 的主要作用: (1)通过键值路径为对象的属性赋值。主要是可以为私有的属性赋值。 (2)通过键值路径获取属性的值。主要是可以通过key获得私有属性的值。 也可以通过keypath获得值 (3)将字典转
阅读全文
摘要:1.最大并发数: - (NSInteger)maxConcurrentOperationCount;- (void)setMaxConcurrentOperationCount:(NSInteger)cnt; NSOperationQueue *queue = [[NSOperationQueue
阅读全文
摘要:1. NSOperation实现多线程编程,需要和NSOperationQueue一起使用。 (1)先将要执行的操作封装到NSOperation中 (2)将NSOperation对象添加到NSOperationQueue中 (3)系统将自动将NSOPeration从NSOperationQueue中
阅读全文
摘要:1.一次性代码:dispatch_once 有时候,有些代码在程序中只要被执行一次。 整个程序运行过程中,只会执行一次。 2.延时执行 延时执行通常有两种方法: (1)普通用法 (2)GCD用法 如果队列是主队列,就在主队列中执行。如果队列是并发队列,就会开启新的线程。 2017-06-17 10:
阅读全文
摘要:在子线程的任务完成后,有时候需要从子线程回到主线程,刷新UI。 从子线程中回到主线程,以前已经写过一种方法: 现在GCD又提供了一种方法: 示例代码: 打印结果: 2017-06-16 17:55:45.848 GCDTest[15011:2269875] 主线程 <NSThread: 0x6080
阅读全文
摘要:一.什么是GCD Grand Central Dispatch (强大的中枢调度器) ,是异步执行任务的技术之一。纯C语言,有很多强大的函数。 二.GCD的优势 (1)GCD是苹果公司为多核并行运算提供的解决方案。 (2)GCD会自动利用更多的CPU内核(双核,四核等)。 (3)GCD会自动管理线程
阅读全文
摘要:当线程的数量大于一个的时候,线程之间可能会产生通信,既一个线程产生的结果要被另一个线程用到。 比如常用的图片的加载就是这个样子。图片的加载是在子线程进行的,当图片加载完毕,就会回到主线程中刷新UI,展示图片。 本文参考文顶顶的博客: http://www.cnblogs.com/wendingdin
阅读全文
摘要:1.获取当前线程 (2)创建完线程自动启动 (3)隐式创建 4.线程的五种状态:新建、就绪、运行、阻塞、死亡。 阻塞:一个线程在执行过程中暂停,以等待某个条件的触发。 (1)设置线程阻塞1,阻塞2秒 [NSThread sleepForTimeInterval:2.0]; (2)第二种设置线程阻塞2
阅读全文
摘要:UICollectlionView继承自UIScrollerview,跟tableview的使用很相似。 下面是UIcollectionView的一些属性和代理方法。 注意: 1.定义collectionView的头文件的时候,需要先注册。 2.collectionView每一行显示几个cell是根
阅读全文
摘要:1.一般使用MJRefresh 来实现上拉刷新和下拉加载功能 2.MJRefresh 下载地址:https://github.com/CoderMJLee/MJRefresh 3. MJRefresh 的使用 (1)先在工程中导入: #import "MJRefreshNormalHeader.h"
阅读全文
摘要:刚刚遛狗回来,前段时间创建的这篇博客一直没有填充内容,今天把scrollerview正好整理一下。 1.scrollerview的主要作用:当界面显示不开要显示的内容,scrollerview提供了滑动的效果,使用户能够通过滑动查看所有的内容 2.scrollerview的常用属性: (1)CGSi
阅读全文
摘要:UILabel是iOS开发经常用到的一个控件,主要用于显示文字。下面记录一些常用的UIlabel的使用。 先定义:UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 0, 0)]; 1.通过调整字体大小,自适应label的宽
阅读全文