随笔分类 - iOS
摘要:1 XML文档结构 1.1 简介 XML 指可扩展标记语言(eXtensible Markup Language)。XML 被设计用来传输和存储数据。其非常像HTML的标记语言,但与之不同的是,XML是用来传输和存储数据;而HTML是用来显示数据;同时XML 标签没有被预定义,需要自行定义标签,而H
阅读全文
摘要:1 JSON文档结构 1.1 简介 JSON(javaScript Object Notation)是存储和交换文本信息的语法,类似 XML。JSON 比 XML 更小、更快,更易解析,是一种轻量级的数据交换格式。所谓轻量级是指与XML文档结构相比描述相同的数据所需的字符个数要少。 简单的说JSON
阅读全文
摘要:1 简介 1.1 概念 AFNetworking网络框架并不是IOS自带的框架,而是第三方的开源框架。它是对NSURLConnection和NSURLSession API的封装,但是目前AFNetworking 3.0已经删除了基于 NSURLConnection API的所有支持,所以本文只记录
阅读全文
摘要:1 简介 1.1 概念 NSURLConnection类似NSURLSession,都是进行网络数据传输的。其中NSURLSession是NSURLConnection的替代版本,目前IOS9.0几乎将NSURLConnection类废弃了。 1.2 第一个程序 如下是简单通过异步的方式请求HTTP
阅读全文
摘要:NSURLSession类和相关的类提供很多API来下载HTTP的内容。这些API提供多种delegate协议来支持验证和执行后台下载任务。 1 URL Session 设计概念 Session中的任务行为依赖三件事: Session类型:在创建时,由configuration 对象决定; task
阅读全文
摘要:1 简介 1.1 功能 Operation Queue也是IOS的一种并行编程技术,类似Dispatch Queue可以帮助用户管理多线程。但是Operation Queue将任务封装在NSOperation对象中,从而可以更好的控制任务的执行。并且Dispatch Queue的先入先出的执行方式不
阅读全文
摘要:1 简介 dispatch source是一种用于处理事件的数据类型,这些被处理的事件为操作系统中的底层级别。Grand Central Dispatch(GCD)支持如下的dispatch sources类型: Timer dispatch sources:定时器类型,能够产生周期性的通知事件;
阅读全文
摘要:1 简介 1.1 功能 Grand Central Dispatch(GCD)技术让任务并行排队执行,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。任务可以是一个函数(function)或者是一个block。 GCD的底层依然是用线程实现,不过这样可以让程序员不用关注实现的细节。 G
阅读全文
摘要:1 创建线程 1.1 NSThread 使用 NSThread 来创建线程有两个可以使用的方法: 1) 使用 detachNewThreadSelector:toTarget:withObject:类方法来生成一个新的线程。 2) 创建一个新的 NSThread 对象,并调用它的 start 方法。
阅读全文
摘要:一般table view有编辑模式和正常模式,当table view进入编辑模式时,会在row的左边显示编辑和重排控件,如图 42所示的编辑模式时的控件布局;左边的editing control有表 61的两种图标。 表 61 table view编辑控件 图标 描述 Deletion控件 Inse
阅读全文
摘要:Table View是UITableView类的实例对象,其是使用节(section)来描述信息的一种滚动列表。但与普通的表格不同,tableView只有一行,且只能在垂直方向进行滚动。tableView由多个section组成,而section又由行(row)组成,也可将行称为单元格(cell)。
阅读全文
摘要:Table View是UITableView类的实例对象,其是使用节(section)来描述信息的一种滚动列表。但与普通的表格不同,tableView只有一行,且只能在垂直方向进行滚动。tableView由多个section组成,而section又由行(row)组成,也可将行称为单元格(cell)。
阅读全文
摘要:Collection view使用UICollectionViewFlowLayout对象来管理section中的cell,该对象是一种流布局方式,即在collection view中的section之间默认是往垂直方向分布,但在section中的cell则是往水平方向排列,若在一行中没有足够的空间
阅读全文
摘要:collection view(UICollectionView对象)使用灵活和可扩展的布局来描述有序的数据项,其一般情况下以网格的形式来展示内容,但并非一定如此。 1 基础 为了将数据展示在屏幕中,Collection View需要搭配其它多种对象,其中有些是用户可选对象,而有些则是必须使用类型。
阅读全文
摘要:1 Socket基础 在IOS中,根据不同的语言环境可以使用不同的方法来创建socket连接。 1) 在Objective-C语言环境使用NSStream类API 2) 在C语言环境使用CFStream类API 可以使用低级别的CFStream API来创建socket连接,这种方式与NSStrea
阅读全文
摘要:1 传统内存管理 Objective-C对象的生命周期可以分为:创建、存在、消亡。 1.1 引用计数 类似Java,Objective-C采用引用计算(reference counting)技术来管理对象的生命周期。每个对象都定义有一个整数(称引用计数器)与之相关联,该数用以表示当前有多少个指针指向
阅读全文
摘要:1 结构剖析 IOS中的标签导航其实是一个UITabBarController对象,其也是一个Container View Controller。UITabBarController对象创建和管理了一组content View Controller,以及一个UITabBar对象(标签栏)。每个con
阅读全文
摘要:navigation controller是一种层次结构的container view controller,即其通过一个view controllers栈来管理内部的content view controllers。如图 11所示最上两层属于Navigation view的层次结构。 图 11 T
阅读全文
摘要:UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验。为了当UIView属性值发生改变时就形成动画,需要将这些属性绑定到animation block中。其中在iOS4.0及之后可以使用block对象,而在之前只能使用UIView的animation开
阅读全文
摘要:1 概述 1.1 访问方法 Key-value coding(KVC)是一种间接访问对象属性的机制,类似键值对,通过名字(或键)可以直接获得对象的属性值。事实上,key-value coding定义了一些模式和规则方法来实现属性的访问,这些基本方法在NSKeyValueCoding协议中声明,同时N
阅读全文