我们在浏览器地址栏输入网址,点击确认后,浏览器会向DNS发出一个请求,获取网址对应的IP地址的映射DNS服务器会首先进行域名的映射,找到对应的IP地址,然后浏览器会发起一个到...
我们在浏览器地址栏输入网址,点击确认后,浏览器会向DNS发出一个请求,获取网址对应的IP地址的映射DNS服务器会首先进行域名的映射,找到对应的IP地址,然后浏览器会发起一个到...
埋点 概念:在iOS开发中,埋点可以解决两大类问题,一是了解用户使用App的行为,二是降低分析线上问题的难度。 常见的埋点方式常见的埋点方式主要包括代码埋点、可视化埋点和无埋...
UI相关1. UIView和CALayer2. position和anchorPoint3. VC的生命周期4. layoutsubviews调用时机5. 离屏渲染 iOS ...
数组 概念数组就是相同数据类型的元素按照一定顺序排列的集合 特点 查询简单,插入和删除比较复杂。 需要占用一块连续的内存空间。 优点随机访问性强,查找速度快,时间复杂度是O(...
NSMutableArray 数据结构 _used 计数 _list 缓冲区指针 _size 缓冲区大小 _offset 缓冲区里的数组的第一个元素索引_NSAr...
概念 哈希表(散列表 Hash)是相对于线性表、树形结构的一种数据结构,它能在元素的存储位置和其关键字直接建立某种之间关系,那么在进行查找时,就无需做或者做很少次的比较,就能...
概念 程序并不能单独运行,只有将程序装在到内存中,系统为它分配资源才能运行,而这种执行的程序就叫做进程。程序和进程的区别在于,程序是指令的集合,它是进程运行的静态描述文件;进...
调用时机 +load()方法是在程序启动加载类的时候就会被调用,也就是说,iOS程序在启动的时候就会加载所有的类,也就会调用每个类的+load()方法,调用时机在main()...
KeyChainKeyChain(钥匙串)存储是Apple平台一个专门用来存储用户敏感信息的一种存储方式,一般用来存储密码、秘钥等数据,可以用于不同App之间的共享。 Use...
NSLockNSLock是Cocoa提供给我们最基本的锁对象,这也是我们经常使用的,除lock和unlock外,NSLock还提供了tryLock和lockBeforeDat...
从类型上看,在Swift中,Class是引用类型,Struct是值类型。值类型在传递和赋值的时候进行深复制,而引用类型只会产生一个指向对象的指针。 从内存区域上看,Class...
概念 一般情况下,App的启动分为冷启动和热启动 冷启动的含义是App点击启动之前,它的进程不在系统里,需要系统新创建一个进程分配给它启动的情况。这是一次完整的启动过程。 热...
在使用基于SQLite的数据库的时候,如果要一次性插入或更新大量数据,则适合使用事务(Transaction) 开始执行事务调用FMDB的开始事务方法,告诉数据库,要开始执行...
在移动互联网时代,为了尽可能的为用户节省流程以及提高用户体验,对HTTP请求设计缓存机制是必不可少的,当前主流缓存策略有以下几种: 系统缓存iOS系统为NSURLReques...
鉴权授权方案 根据WebSocket文档上的说明,鉴权授权是需要自己实现。我们自己实现的流程大概是,在每次连接前,访问接口取得鉴权必须的参数,在连接WebSocket的时候拼...
概念 http协议的全称是超文本传输协议,是一个基于请求和响应的、无状态的、应用层的协议,常基于TCP/IP协议传输数据。 https协议是加上SSL鉴权的http。http...
一般来说,Objective-C中的Block和Swift中的闭包用法并无显著区别,两者都是作为匿名函数来使用的,两者都可以作为变量、参数使用 除了写法上的区别外,两者最显著...
使用copy修饰不可变对象的目的,是防止把可变类型的对象赋值给不可变类型的对象时,可变类型对象的值发生变化,引起不可变类型的对象发生变化。 如果使用copy修饰可变对象,当可...
概念 iOS中有深拷贝和浅拷贝的概念,其中,浅拷贝并不拷贝对象本身,只是把指向对象的指针进行拷贝,该对象的引用系数加1。深拷贝拷贝的是对象本身,它把对象指针指向的内存空间取出...