摘要:
1. 简单动画 1> UIImageView GIF 动画 GIF图的原理是:获取图片,存储在图片数组中,按照图片数组的顺序将图片以一定的速度播放 2> UIActivityIndicatorView 风火轮动画 在APP中,加载界面的时候我们都会看到一个想风火轮的动画在不停的转,这个动画其实是iO 阅读全文
摘要:
1.XML与JSON两种数据结构的优缺点 1> XML 优点: 格式统一, 符合标准 容易与其他系统进行远程交互, 数据共享比较方便 格式统一, 符合标准 容易与其他系统进行远程交互, 数据共享比较方便 缺点: XML文件格式文件庞大, 格式复杂, 传输占用带宽 服务器端和客户端都需要花费大量代码来 阅读全文
摘要:
1.可选类型和强制解包(?和!) 1> 可选类型(?)和强制解包(!) 在swift中,可选类型(?) 其根源是一个 枚举型,里面有 None 和 Some 两种类型。其实所谓的 nil 就是 Optional.None , 非 nil 就是 Optional.Some. 可选类型是的数据如果不进行 阅读全文
摘要:
1. KVC的实现原理 遍历字典里面所有的key,以name为例 去模型中查找有没有setName:方法,有就直接调用赋值 假如没有找到setName:方法,就会继续查找有没有_name属性,有就_name = value赋值 假如没有找到_name,还会继续查找模型中有没有name属性 最终没有找 阅读全文
摘要:
1. SQLite数据库 sqlite数据库操作的基本流程是, 创建数据库, 再通过定义一些字段来定义表格结构, 可以利用sql语句向表格中插入记录, 删除记录, 修改记录, 表格之间也可以建立联系。 这些操作都需要使用SQL语句去实现,感觉操作很直接。如果先前有一点数据库和SQL基础的话,写起来会 阅读全文
摘要:
区别: Thread: Thread: 是这几种方式里面相对轻量级的,但也是使用起来最负责的,你需要自己管理thread的生命周期,线程之间的同步。线程共享同一应用程序的部分内存空间, 它们拥有对数据相同的访问权限。你得协调多个线程对同一数据的访问,一般做法是在访问之前加锁,这会导致一定的性能开销。 阅读全文
摘要:
线程间通信 1> 线程间通信分为两种 主线程进入子线程(前面的方法都可以) 子线程回到主线程 主线程进入子线程(前面的方法都可以) 子线程回到主线程 2> 返回主线程 3> 代码 这个案例的思路是:当我触摸屏幕时,会在子线程加载图片,然后在主线程刷新UI界面 视图布局我就不写了,大家自己来吧,线程间 阅读全文
摘要:
在编程过程中,我们会用到很多各种各样的他人封装的第三方代码,但是有很多第三方都是在非ARC情况下运行的,当你使用第三方编译时出现和下图类似的错误,就说明该第三方是非ARC的,需要进行一些配置。 解决方法: 苹果文档Transitioning to ARC Release Notes有一种解决办法为: 阅读全文
摘要:
1. Swift简介 2010年的夏天,苹果公司的开发人员Chris Lattne接到了一个特别的任务,为OS X 和iOS平台开发下一代的编程语言,也就是Swift。 苹果公司于2014年WWDC(苹果开发者大会)发布的新开发语言Swift,可与Objective-C共同运行于Mac OS和iOS 阅读全文
摘要:
我们在非视图类中想要随时展示一个view时,需要将被展示的view加到当前view的子视图,或用当前view presentViewController,或pushViewContrller,这些操作都需要获取当前正在显示的ViewController。 代码如下:(详细理解请仔细阅读注释) 代码说 阅读全文
摘要:
在即时通信编程中,你的Openfire服务可能因为各种不同的原因,出现不能使用、无法连接等问题。 解决这类问题最直接和省时间的方式就是卸载后重装,本篇主要为大家介绍如何卸载Openfire。 首先,确保你已经关掉了openfire 打开终端 (在应用程序-->实用工具-->) 输入以下命令: sud 阅读全文
摘要:
本篇是 即时通信之XMPP(2) 接上次 即时通信之XMPP(1) 1. 好友列表 1> 初始化好友花名册 2> XMPPRoster代理方法 代码: 3> 添加好友所需方法 代码: 4> 删除好友 代码: 2. 聊天 1> 聊天的规则: 从服务器获取聊天记录,根据数据属性判断消息类型 发送消息 接 阅读全文
摘要:
1. 即时通信 1> 概述 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷,服务提供商也提供了越来越丰富的通讯服务功能。 即时通讯有多种实现方式,例如:XMPP、环信、融云等。 2> XMPP(可扩展消息处理现场协议) XM 阅读全文
摘要:
XMPP环境搭建 1> 搭建XMPP环境需要几个辅助工具: Java Openfire 采用Java开发,因此我们需要先安装Java环境 XAMPP XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建 XAMPP 软件站集成软件包。 许多人通过他们自己的经验认识到安装 Apa 阅读全文
摘要:
异步任务+并行队列 把异步任务放到并行队列进行执行,异步任务会在不同的线程中执行。 运行结果如下。异步任务+并行队列组合情况下,每个任务会在不同的线程中同时执行。 异步任务+串行队列(主队列) 对于异步任务放在串行队列中执行时,任务只会在一个新开的线程中,按照顺序进行执行。 运行结果如下。可以看到, 阅读全文