Tag Archives: ios

ios中sqlite数据库的原生用法

概述

sqlite数据库相信各位早已耳闻,当年我在做C# winform时就已经玩过了,非常轻巧的一个数据库,数据库仅一个文件,即建即用。

在ios中,也同样支持sqlite。目前有很多第三方库,封装了sqlite操作,比如swift语言写的SQLite.swift、苹果官网也为我们[……]

Read more

IOS网络-使用原生类操作

一个标准的网络请求,包含了请求主体(NSURL、NSURLRequest)、请求操作者(NSURLConnection)、数据响应体(text、json、xml等),最后在处理返回的数据时,可能需要使用序列化将数据转换成我们需要的对象。

下面是请求一张二维码图片数据的代码:

priva[......]

Read more

IOS多线程安全-读者写者问题

多线程安全中,所谓读者写者:一个可变的对象,一个线程正对它修改,这时另个线程也过来了想修改它,同时进行吗?肯定不可以。

所以在多线程安全中,为了解决读者写者的线程安全问题,需要使用dispatch_barrier_async来保护可变对象:

var myArray :[Int][......]

Read more

IOS多线程安全-单例模式的应用

多线程安全中有个概念叫:临界区,意思是有一段代码,它只能被一个线程调用,这段代码就叫临界区。

在单例模式中,我们常常会判断当前类的实例是否已经存在了, 如果已存在那就返回当前的实例,如果不存在就创建一个。

传统操作下,可以使用条件语句判断,但是多线程下就不行了,为了保证当多个线程调用[……]

Read more

IOS多线程-NSThread

NSThread类,直接操作线程,适合将一个需要长时间运行的任务放到一个子线程中。

NSThread.detachNewThreadSelector("go", toTarget: self, withObject: nil)

private func go(){
    print[......]

Read more

IOS多线程-GCD使用

IOS多线程编程中,GCD是一个很方便的库,它的核心是GCD队列,所有操作都围绕着队列。

1、GCD中的三种队列

GCD中三种队列:主队列、全局队列、自定义队列。

 //创建一个全局队列,队列的优先级(Priority)为Default,第二个参数暂时保留,传0即可
let[......]

Read more