对于一门语言的学习是需要时间领悟的,而对于一些原理性的问题,我们需要清楚其核心思想,知其然而知其所以然,这样才能有利于自己的后续发展。本文只是简述,没有面面具到。 OC是在C语言的基础上加入了一些面向对象的特性(封装,继承,多态),...
iOS多线程编程之三:GCD基础知识
一、引言在软件开发中使用多线程可以大大的提升用户体验度,增加工作效率。iOS系统中提供了多种分线程编程的方法,在前两篇博客都有提及: NSThread类进行多线程编程:iOS多线程编程之一:NSThread线程管理 NSOperati...
iOS多线程编程之二:NSOperation与NSOperationQueue
一、NSOperation解析NSOperation是基于Object-C封装的一套管理与执行线程操作的类。这个类是一个抽象类,通常情况下,我们会使用NSInvocationOperation和NSBlockOperation这两个子...
iOS多线程编程之一:NSThread线程管理
NSTread是iOS中进行多线程开发的一个类,其结构逻辑清晰,使用十分方便,但其封装度和性能不高,线程周期,加锁等需要手动处理。 一、NSThread类方法总结获取当前线程 1+ (NSThread *)currentThread;...
iOS 通过crash日志定位bug代码位置
项目上线之后经常会遇到一些崩溃的问题,此时因为无法重现很难定位到相应代码位置,可以通过一些第三方工具来完成crash日志的统计,如友盟和bugly,然后完成代码的定位,本文主要论述如何使用dSYM文件和堆栈信息定位crash代码的位置...
iOS - UIWindow
一、简单介绍UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow...
iOS UIBezierPath贝塞尔曲线常用方法
关于 UIBezierPathUIBezierPath这个类在UIKit中, 是Core Graphics框架关于path的一个封装,使用此类可以定义简单的形状,比如我们常用到,矩形,圆形,椭圆,弧,或者不规则的多边形 UIBezie...
UICollectionView详解(二):自定义UICollectionViewLayout
UICollectionViewLayout简介(1)基本方法在UICollectionViewLayout时,我们主要会重写它的以下几个方法 1234567891011121314151617- (void)prepareLayou...
UICollectionView详解(一): 基本使用
UICollectionView在目前的iOS开发中,使用非常广泛,它可以完成许多UITableView完成不了的复杂的布局,在使用上,两者也有着许多的相似之处,主要体现在布局的样式上,UITableView主要有...