iOS-Layout学习笔记

关于 iOS 布局系统的一些知识在我之前的博客中已经写过了,这里再补充一些。

优先级

解决Leak分析闪退问题

我们在解决应用内存泄露的问题时,常常要用到 Instruments 调试工具的 Leak Check 工具。然而,有时打开 Leak Check,应用就闪退了,导致无法调试。

iOS多线程学习笔记

线程又被称为轻量进程,是进程中执行运算的最小单位。进程是资源费配的基本单位。一个程序至少拥有一个进程,一个进程至少拥有一个线程。线程拥有自己的堆栈和局部变量,但没有单独的地址空间,而进程的内存是独立的。一个线程崩溃,整个进程都会崩溃。但在操作系统的保护模式下,一个进程崩溃不影响其他进程,因此多进程的程序比多线程的程序及健壮。但是进程上下文切换比线程上下文切换更消耗资源。

Obj-C键值编程

Objective-C 键值编程包括键值编码 KVC 和键值观察 KVO 两部分。

键值编码

Obj-C运行时系统

Objective-C 会在运行时执行许多其他语言在编译或链接时执行的常规操作,如确定类型和方法解析。这些处理会带来额外的开销,Objective-C 通过缓存来节约这些开销。

选择器

Obj-C内存管理细节和多线程

iOS 中内存管理的部分是由 NSObject 类实现的。Foundation 框架并没有开源,但是 Cocoa 的互换框架 GNUstep 是开放源码的。互换框架是指,虽然实现的机制可能不一样,但对使用者来说,他们的行为应该是一致的。

阿里一面凉了之旅

昨天才投的阿里巴巴,要我做的测评和在线编程题还没做,今天居然就打电话来面试了!真是猝不及防。在听我bb了半天项目经验,又问了点其他的 iOS 知识之后,面试官说:“我们来考察一下编程的思想吧!”。我说:“来吧!”,然后,然后我就跪了。。。

事情是这样的

动态规划法

题目:

Swift Tips

结构相等符 == 被用来判断两个值是否相等。而引用相等 === 用来检查两个引用是否具有同一性,即是否指向同一个对象。

1
2
3
4
5
6
7
class A {
var p = 0
}

var a = A()
var b = a
print(b == a)

Obj-C内存管理

对一个对象发送 retain 消息,该对象引用计数加一;反之,对它发送 release 消息,对象的引用计数会减一。但是,实际上释放内存的消息并不是 release,而是 dealloc 方法。当对象的引用计数达到 0 时,OC 会自动调用 dealloc 方法去释放内存,而不需要手动调用。

测试 MRC

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×