iOS面试题
文章平均质量分 79
Longshihua
喜欢iOS开发,目前在上海工作!专注Swift学习!
展开
-
深拷贝和浅拷贝详解
深拷贝和浅拷贝 用一句简单的话来说就是浅拷贝,只是对指针的拷贝,拷贝后两个指针指向同一个内存空间,深拷贝不但对指针进行拷贝,而且对指针指向的内容进行拷贝,经深拷贝后的指针是指向两个不同地址的指针。 下面看copy和mutableCopy copy和mutableCopy。这两个方法都是返回一个id类型的对象,那么这两者之间有什么区别呢?根据官方文档解释,copy方法,返回cop...原创 2016-03-16 10:53:51 · 606 阅读 · 0 评论 -
Swift - Static和Class
static 和 class在Swift中static和class都表示“类型范围作用域”的关键字。在所有类型中(class、static、enum)中,我们可以使用static来描述类型作用域。class是专门用于修饰class类型的。static可以修饰属性和方法class Person { // 存储属性 static let age: Int = 20 // 计算...原创 2018-03-01 18:59:21 · 5017 阅读 · 0 评论 -
iOS - loadView和viewDidLoad
loadView方法每一个视图控制器(UIViewController)都会生成一个loadView方法,很多情况下我们都不会使用它,因为创建一个视图控制器之后并没有该方法,而且苹果也建议不要直接调用该方法,如果需要那么就要重写loadView方法。那么该方法到底什么时候被调用?有什么作用?默认的实现是怎样的?loadView什么时候被调用每次我们访问视图控制器(UIViewController)...原创 2018-03-02 11:40:33 · 1695 阅读 · 0 评论 -
UIView和CALayer的关系
UIView是iOS系统中界面元素的基础,所有的界面元素都是继承自它。平时的开发中我们经常使用UIView,比如初始化一个UIView并设置它的frame、背景颜色等属性,但有时候UIView满足不了我们,比如:需要设置UIView的圆角和边框等操作,那么这个时候我们就会使用view.layer,即CALayer,那么两者之间到底有什么关系呢?1、每个UIView都对应着一个CALayer,当我们...原创 2018-03-05 19:09:02 · 1863 阅读 · 0 评论 -
NSCache的一点小小认识
在iOS开发的过程中,我们经常会遇到一个问题,那就是从网络下载的图片应该如何来存储,首先能够想到的可能就是使用字典把图片保存起来,那么下次再去请求的时候就可以直接使用而不需要下载了,但是使用字典未必是一个好的方案。其实NSCache类更好,因为它是Foundation框架专门为处理缓存而设计的。 NSCacheNSCache是一个类似于集合的容器,它也存储key-value对,这一点类...原创 2016-08-15 17:32:11 · 1845 阅读 · 0 评论 -
Runtime之objc_msgSend函数
首先了解一下什么是Runtime?Runtime顾名思义即为运行时。就是系统运行时候的一些机制,它提供了一些使得对象之间能够传递消息的重要函数,其中最主要的就是消息机制了。相较于C语言而言,C语言使用的是“静态绑定”,函数的调用在编译期就能知道运行期所需要调用的函数了,编译完成之后就按照顺序执行(面向过程就是这么任性)。在对象上调用方法是OC 中经常使用的功能,用 OC 的术语来说,叫做传递消息....原创 2018-03-30 08:37:45 · 886 阅读 · 0 评论