随笔分类 - iOS
摘要:GCD(Grand Central Dispatch),是 Apple 开发的一个多核编程的解决方法。该方法在 Mac OS X 10.6 雪豹中首次推出,并随后被引入到了 iOS4.0 中。GCD 是一个替代诸如NSThread,NSOperationQueue, NSInvocationOperation 等技术的很高效和强大的技术。
阅读全文
摘要:iOS开发过程中会遇到各种问题,在此记录自己的调试方式,分享出来,也希望大家可以指正。
阅读全文
摘要:CocoaPods是iOS最常用的第三方库依赖管理工具,且绝大多数优秀的开源框架都支持CocoaPods。
阅读全文
摘要:Charles是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。
Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。
阅读全文
摘要:在一个iOS 应用的生命周期中,有时候我们只需要某个类的一个实例。例如,iOS 设备都有一个重力加速计硬件设备,要访问设备在x轴、y轴和z轴上的重力加速度,就必然要有一个类能够与硬件设备沟通来实时获得这些数据,这个类就是UIAccelerometer 。除了实时地获得数据,该类还能够保持x 轴、y轴和z 轴的状态。但是这个类只需要一个实例就够了,如果有多个实例,就会占用过多的内存。单例模式的作用是解决“应用中只有一个实例”的一类问题。
阅读全文
摘要:本文主要介绍Objective-C中的继承和多态。
阅读全文
摘要:前几天因为在开源中国看到一个求源代码的问题:模拟一个动物园系统MyZoo 1、动物园里面有三种动物:Panda,Elephant,Kangaroo 2、三种动物都有一定的数量(不止一只) 3、动物有各自不同的食量(以天为单位的食量),并且每天都在消耗食物。 4、动物园里的食物有固定的储备,而且假...
阅读全文
摘要:作为应用程序的委托对象,AppDelegate类在应用生命周期的不同阶段会回调不同的方法。首先,让我们先了解一下iOS 应用的不同状态及它们彼此间的关系,见图1 。 图1 iOS应用状态图 ...
阅读全文
摘要:视图是应用的一个重要组成部分,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻。1.视图生命周期与视图控制器关系 以视图的4 种状态为基础,我们来系统了解一下视图控制器的生命周期。在视图不同的生命周期中,视图控制器会回调不同的方法,具体如图1 所示。 ...
阅读全文
摘要:应用如何与用户交流呢? 警告框(AlertView)和操作表(ActionSheet)就是为此而设计的。 本文案例的原型草图如图3-48所示,其中有两个按钮“Test警告框”和“Test操作表”,点击“Test警告 框”按钮时弹出警告框,它有两个按钮。当点击“Test操作表”按钮时,屏幕下方...
阅读全文
摘要:@property (nonatomic, assign) NSString *title;什么是assign,copy,retain之间的区别?assign: 简单赋值,不更改索引计数(Reference Counting)。copy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放...
阅读全文
摘要:在开发iOS应用过程中,如何高效的与服务端API进行数据交换,是一个常见问题。一般开发者都会选择一个第三方的网络组件作为服务,以提高开发效率和稳定性。这些组件把复杂的网络底层操作封装成友好的类和方法,并且加入异常处理等。 那么,大家最常用的组件是什么?这些组件是如何提升开发效率和稳定性的?哪...
阅读全文
摘要:第一部分SDWebImage库的作用:通过对UIImageView的类别扩展来实现异步加载替换图片的工作。主要用到的对象:1)UIImageView(WebCache)类别,入口封装,实现读取图片完成后的回调2)SDWebImageManager,对图片进行管理的中转站,记录那些图片正在读取。向下层...
阅读全文
摘要:一、什么是库库是程序代码的集合,是共享程序代码的一种方式。二、库的分类根据源代码的公开情况,库可以分为2种类型。1.开源库公开源代码,能看到具体实现。比如,SDWebImage、AFNetworking2.闭源库不公开源代码,是经过编译后的二进制文件,看不见具体实现。三、静态库和动态库1.动态库和静...
阅读全文
摘要:一、UIAccelerometer 使用步骤//1).获得单例对象UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];//2).设置代理accelerometer.delegate = self;//3).设...
阅读全文
摘要:1.进程进程是指在系统中正在运行的一个应用程序。负责程序运行的内存分配。每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内。2.线程一个进程要想执行任务,必须得有线程(每一个进程至少要有一个线程)。线程是进程的基本执行单元,一个进程(线程)的所有任务都在线程中执行。一个线程中任务的执行...
阅读全文
摘要:一、CLLocationManagerDelegate不调用didUpdateLocations这是因为xcode升级造成的定位权限设置问题。升级xcode6以后打开以前xcode5工程,程序不能定位。工程升级到xcode6编译时需要iOS8 要自己写授权,不然没权限定位。解决方法:首先在 info...
阅读全文
摘要:1.NSOperation的作用配合使用NSOperation和NSOperationQueue也能实现多线程编程。2.NSOperation和NSOperationQueue实现多线程的具体步骤:1)先将需要执行的操作封装到一个NSOperation对象中。2)然后将NSOperation对象添加...
阅读全文
摘要:XML和解析1.什么是XML?Extensible Markup Language,可扩展标记语言。一般也叫XML文档。和JSON一样,也是常用的一种用于交互的数据格式。2.XML语法1)一个常见的XML文档一般由以下部分组成1>文档声明:在XML最前面,必须编写一个文档声明,用来声明XML文档的类...
阅读全文