个人总结
划落永恒
享受开发的乐趣,一个ios菜鸟的编程之路。
要勇于创造自己的轮子。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2018年 iOS 面试题整理
UIView和CALayer的区别1、UIView相比CALayer最大区别是UIView可以响应用户事件,而CALayer不可以。UIView侧重于对显示内容的管理,CALayer侧重于对内容的绘制。2、UIView和CALayer是相互依赖的关系。UIView依赖与CALayer提供的内容,CALayer依赖UIView提供的容器来显示绘制的内容。归根到底CALayer是这一切的基础,如果没有...原创 2018-05-03 14:27:15 · 409 阅读 · 0 评论 -
iOS性能优化-内存检测
1.静态分析 command + SHIFT + B 也可以进入静态分析。Xcode 静态分析能发现的问题主要有: (1)逻辑缺陷,例如访问未初始化的变量或空指针的解引用; (2)内存管理缺陷,如内存泄露; (3)无用存储缺陷(永不会被访问的变量); (4)因未遵从项目用到的框架(frameworks)或类库(libraries)所规范的而导致的API使用缺陷;通过 Xcode Analyze 发...转载 2018-05-15 16:16:18 · 394 阅读 · 0 评论 -
iOS 软件工程架构与设计模式
iOS视角的常用的设计模式(总结)单例模式(Singleton Pattern)单例模式,为了保证一个类有且只有一个实例,无论创建多少次,都是同一个对象比如UIApplication的,UIAccelerometer(重力加速),NSUserDefaults的,NSNotificationCenter。单例模式的优点:1.安全。由于创建方法都是安全的(加锁等操作),在数据方面避免了多重占用,所...原创 2018-04-27 11:20:37 · 725 阅读 · 0 评论 -
中级工程师如何走向高级
想变强就要不断学习。学习方法也要改变。初级是掌握了开发的技巧,能够具备初始开发能力。到了中级之后就能够得心应手了。渐渐会发现,很多东西都只是停留在应用层(会用)。成为高级工程师的初始条件就是要理解实现原理,因为只有知道了原理,才能更好的去做优化。怎么学习1、首先要提出问题?2、这个问题的实现原理3、什么时候使用。4、做出总结。5、思考如何去优化。6、升级或者重新建一个新的轮子。(个人觉得前期可以先...原创 2018-04-27 10:15:12 · 779 阅读 · 0 评论 -
const int a; int const a; const int *a; int * const a; int const * a const; 之间的区别
const int a; int const a; const int * a; int * const a; int const * const; 之间的区别const int a; int const a; 这两个写法是等同的,表示一个是一个INT常量。const int * a; 表示a是一个指针,可以任意指向int常量或者int变量,它总是把它所指向的目标当作一个int常量。也可以写成in...转载 2018-05-23 09:27:43 · 7899 阅读 · 0 评论 -
iOS 多线程(基础篇)
什么是进程?进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内什么是线程?1个进程想要执行任务,就必须要有线程(每个进程至少要有一条线程(主线程))一个进程(程序)所有的任务都要在线程中执行。1个线程中任务执行的方式是串行的。如果要在1个线程中执行多个任务,那么只能一个一个按顺序执行这些任务。也就是说,在同一个时间内,1个进程只能执行1个任务。什...原创 2018-05-08 10:49:46 · 279 阅读 · 0 评论 -
iOS 多线程(NSThread篇)
创建,启动线程主线程相关用法获取当前线程线程的名字其他创建线程方式:创建线程后自动启动线程隐式创建并启动线程优点:简单快捷缺点:无法对线程进行更详细的设置线程的状态控制线程的方法启动线程阻塞(暂停)线程强制停止线程(线程关闭后,就不能再在该线程上开启任务,因为线程已被关闭)多线程的安全隐患资源共享,多个线程可能会范文同一块资源容易发生数据错乱和数据安全问题安全隐患解决 - 互斥锁互斥锁使用格式互斥...原创 2018-05-08 14:09:45 · 327 阅读 · 0 评论
分享