摘要:
后台运行 当应用程序进入后台时,系统会自动回调应用程序委托的applicationDidEnterBackground:方法。应用可以在该方法中完成转入后台前需要做的准备工作,所有的应用需要做以下事情。 释放所有可以释放的内存。 保存用户数据或状态信息,所有没写入磁盘的文件或信息,在进入后台之前,都... 阅读全文
摘要:
使用GCD实现多线程GCD的两个核心概念如下:队列队列负责管理开发者提交的任务,GCD队列始终以FIFO(先进先出)的方式来处理任务---但由于任务的执行时间并不相同,因此先处理的任务并一定先结束。队列既可是串行队列,也可是并发队列则可同时处理多个任务,因此将会有多个任务并发执行。队列底层会维护一个... 阅读全文
摘要:
线程同步与线程通信多线程是有趣的事情,它很容易突然出现”错误情况”,这是由于系统的线程调度具有一定的随机性造成的.不过,即使程序偶然出现问题,那么是由于编程不当所引起的.当使用多个线程来访问同一个数据时,很容易”偶然”出现线程安全问题.线程安全问题关于线程安全问题,有一个经典的问题:银行取钱的问题.... 阅读全文
摘要:
多线程iOS平台提供了非常优秀的多线程支持,程序可以通过非常简单的方式来启动多线程,iOS平台不仅提供了NSThread类来创建多线程,还提供了GCD方式来简化多线程编程,提供了NSOperation和NSOperationQueue支持多线程编程。总之,iOS已经尽力降低开发多线程应用的繁琐,... 阅读全文
摘要:
MFMessageCompose 和 MFMailComposeViewController的使用方法使用MFMessageComposeViewCOntroller发短信应用想自己提供界面让用户输入短信收件人地址、短信内容、主体、附件等短信内容,则可使用MFMessageComposeViewCo... 阅读全文
摘要:
使用AddressBookUI管理联系人iOS SDK为管理地址簿提供的视图控制器位于AddressBookUI框架内。总结来说,AddressBookUI框架提供了如下特殊的视图控制器。ABPersonViewController用于显示指定联系人数据的试图控制器ABNewPersonViewCo... 阅读全文
摘要:
使用addressBook管理联系人之修改联系人修改联系人修改联系人先从底层地址簿中加载一条ABRecordRef记录,然后对这条ABRecordRef记录的属性值进行修改,修改完成后把这条修改后的ABRecordRef记录存入地址簿即可.修改联系人的步骤大致如下1获取底层地址簿中已有的联系人对应的... 阅读全文
摘要:
CocoaAsyncSocket使用代理的.h文件//GCDAsyncSocketDelegate执行代理对象#import #import "CocoaAsyncSocket.h"typedef void(^DidReadData)(NSDictionary* didReadData);/** *... 阅读全文