1.内存分区情况:

a.代码区:存放函数二进制代码;

b.数据区:系统运行时申请内存并初始化,系统退出时由系统释放,主要存放常量,静态变量,全局变量;

c.堆区:通过malloc等函数或者new动态申请到的,需要程序员手动申请和释放;

d.栈区:函数模块内申请,函数结束时由系统自动释放。存放局部变量,函数参数。

2.队列和栈的区别:

队列和栈是两种不同的数据容器,从数据结构的角度来说都是线性结构的,区别在于队列是一种先进先出的数据结构,在队列的两端都可以进行数据的操作,一端进行入队列操作,另一端进行出队列操作,而对于栈来说,栈是先进后出的方式,而且只能在栈顶进行数据的操作。

3.http协议中post和get请求的区别

post请求:

a.提交的参数包含在消息主体内,外界看不到请求数据;

b.提交的数据大小没有限制;

c.可以设置书签

get请求:

a.提交的参数不包含在消息体内,数据放在请求行

b.提交的数据大小有限制

c.不可以设置书签

4.Quartz 2D的绘图功能的三个核心概念

上下文:主要用于描述图形写入哪里

路径:是在图层上绘制的内容

状态:用于保存配置变化的值,填充和轮廓

5.Objective-c里面的NSInteger和int的区别

NSInteger是基本数据类型对象,不是NSNumber的子类,也不是NSObject的子类。NSInteger是int或者long的别名,区别在于NSInteger会根据系统是32位还是64位来决定本身是int还是long

6.Objective-c中创建线程的方法有哪些?在主线程中执行代码的方法是什么?延时执行代码的方法是什么?

创建线程的方法主要有三种:使用NSThread创建,使用GCD的dispatch创建,使用子类化的NSOperation,然后将其加入到NSOperarionQueue中。在主线程执行代码,方法是performSelectorOnMainThread,如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone:

7.类别,类扩展和继承的比较

类别只能添加方法,不能添加属性,类扩展和继承可以添加属性,继承可以删除,修改方法,类比不能,类扩展添加的方法必须要实现,类扩展类似私有的类别

8.UIView和UIWindow,CALayer的联系和区别

UIView是视图基类,UIViewController是视图控制器基类,UIResponder是可以用来表示一个可以在屏幕上响应触摸事件的对象。

UIWindow是UIView的子类,主要有两个作用,一是提供一个区域用来显示UIView,二是用来分发事件,一个应用基本上只有一个UIWindow。

CALayer和UIView的区别:

CALayer是继承自NSObject,而UIView的继承结构是UIResponder:NSObject,从两者的继承结构可以看出,UIView可以响应触摸事件,而CALayer是不能响应触摸事件的,两者所属框架也不同,UIView来自UIKit框架,CALayer来自QuartzCore框架,CALayer的坐标系统多了一个anchorPoint的属性。

9.__block和__weak的区别

__block不管是在ARC还是MRC下都可以使用,可以修饰对象,也可以用来修饰基本数据类型

__weak只能在ARC模式下使用,只能修饰对象,不能修饰基本数据类型

__block对象可以在block中重新赋值,__weak不可以

10.常见的http状态码有哪些

http状态码:302代表请求重定向,500以上是服务器错误,400以上是地址错误或者找不到服务器,200以上是正确,100以上是请求接受成功。

11.static关键字的作用

函数体内的static变量的作用范围为该函数体,该变量的内存只被分配一次,其值在下次调用时还是维持上一次的值

类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝

类中的static成员函数属于整个类所拥有,这个函数不接收this指针,所以只能访问类的static成员变量

12.堆和栈的区别

管理方式上,栈是由编译器自己去管理,堆是由程序员去管理。

申请大小上,栈是向低地址扩展的数据结构,是一块连续的内存区域,栈顶的地址和栈的最大容量是系统预先规定好的,能从获得的空间较小;堆是向高地址扩展的数据结构,是不连续的内存区域。用的是链表的方式进行存储,堆的大小受限于系统中有效的虚拟内存的大小,堆获得的空间比较灵活,也比较大。

碎片问题上,堆会频繁的申请,释放,而且不是连续的,容易造成大量的碎片,对于栈来讲,就不会造成碎片空间,因为站是先进后出,是连续的内存区域

分配效率上,栈是由编译器管理,分配效率更高一点。

转载于:https://www.cnblogs.com/qirutr/p/5150089.html

iOS基础知识点总结相关推荐

  1. IOS基础之打砖块项目演练

    IOS基础之打砖块项目演练 本项目涉及CADisplayLink核心动画,各个控件的使用,运行循环,逻辑判断等,if和for,frame坐标的改变,CGPoint结构体,成员变量的赋值,两种手势,拖拽 ...

  2. java基础知识点(1)——计算机的基础-计算机语言

    和小学妹一起学java java的基础知识 学科介绍 一.计算机的基础知识 1.计算机基础 2.编程语言 3.进制 4.字节 5.命令行的交互 二.Java语言概述 1.Java语言的简介 2.跨平台 ...

  3. C++基础知识点小结

    C++基础知识点小结 第一章 绪论 (1)cout 输出流的对象 (2)cin输入对象 (3)endl 输出控制符/操控符 (4)标识符 (5)命名空间(namespace) (6)左值: (7)右值 ...

  4. [ Azure | Az-900 ] 基础知识点总结(二) - 核心组件服务

    本系列文章主要针对微软AZ-900所有知识点总结,助力通过考试,获得证书.本系列文章列表如下: [ Azure | Az-900 ] 基础知识点总结(一) - Cloud云概念 [ Azure | A ...

  5. iOS基础——通过案例学知识之UITableView

    iOS基础--通过案例学知识之UITableView 案例一:英雄联盟展示 对于UITableView的知识点特别多,因为它是iOS用得最多控件之一,我会尽我最大努力和语言的组织,将所有知识点介绍到位 ...

  6. 作为第一期iOS基础班学生,MJ广东开校之我见(原稿)

    作为第一期iOS基础班学生,MJ广东开校之我见 先作自我介绍,我是2015年4月6日开班的第一期iOS基础班成员.我的名字叫静静(一看就是骗人的哈哈.).不得不说,来到黑马真的是我从老家出来6年里面最 ...

  7. IOS基础知识-ARC,分类,Block

    IOS基础知识-ARC,分类,Block ARC快速入门 本小节知识点: 1.ARC机制判断 2.ARC快速使用 ARC基本概念 本小节知识点: 1.什么是ARC 2.ARC的注意点和优点 3.ARC ...

  8. iOS基础问答面试题连载-附答案

    2017-02-02 timhbw CocoaChina 以下是一些自己收集的比较基础的问题(大神可以忽略),附上答案,方便大家阅读.俗话说得好,基础不牢,地动山摇.文章末尾会提供PDF版的文档,方便 ...

  9. Python培训教程之Python基础知识点梳理

    Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小编就来给大家分享一篇Python培训教程之Python基础知识 ...

最新文章

  1. HTML5文档结构主体结构 语义结构,html5组织文档结构.pdf
  2. python做excel表格柱状图_用python处理excel数据(八)实现excel表中柱状图功能
  3. linux下使用find xargs grep查找文件及文件内容
  4. Android数据存储与访问
  5. 嵌入式开发中常用的几种通信接口总结
  6. mybatis实战教程(mybatis in action)之二:以接口的方式编程
  7. 【每日一题】7月14日题目精讲—压缩
  8. 一段MYSQL的插入代码
  9. Cassandra安装和初次使用
  10. sql server添加列
  11. 消防巡检控制器,消防泵巡检控制柜专用元件
  12. B站批量下载工具——下载姬
  13. 财经APP富途牛牛商业模式分析
  14. 使用EXCEL绘制三维地图(超简单的五分钟绘制地图方法,妈妈再也不用担心我不会画地图啦~)
  15. JeeSite系列之一_JeeSite简介
  16. Vidar-Team战队专访:AS WE DO, AS YOU KNOW.
  17. 最小二乘曲线拟合原理,平面曲线与空间曲线,并附python实现demo
  18. 【博客628】k8s pod访问集群外域名原理以及主机开启了systemd-resolved的不同情况
  19. 【新书推荐】【2019.12】二十一世纪的人工智能(第三版)
  20. Educational Codeforces Round 132 (Rated for Div. 2) C. Recover an RBS

热门文章

  1. C、Shell、Perl基于Tomcat开发CGI程序环境配置
  2. fatal error RC1004: unexpected end of file found处理方法
  3. U盘上的笔记全弄丢了,痛苦啊痛苦!
  4. php连接mysql数据库的连接类
  5. perl(Class::MethodMaker) is needed by MySQL-ndb-tools-5.1.21-0.glibc23.i386
  6. Mysql 5.8 参数调优
  7. 前端工程化系列[03]-Grunt构建工具的运转机制
  8. PHP 的 Phar 包原来性能这么强!
  9. Xmind settings lower
  10. 初始化资源管理器 winform