- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IOS经典面试题
IOS面试题
1.在一个对象的方法里面:=“object”;和 name=”object” 有什么
不同吗?
答:
=”object”:会调用对象的setName()方法;
name=“object”:会直接把object赋值给当前对象的name属性。
2.请简述=nil 的机制,以及与[namerelease]的区别?
=nil; //使用nil参数调用setName:方法
[namerelease]生成的访问器将自动释放以前的name对象
3.请简要说明viewDidLoad和viewDidUnload何时调用
答 viewDidLoad在vie 从nib文件初始化时调用,loadVie 在controller
的vie 为nil 时调用。此方法在编程实现vie 时调用,vie 控制器默认会
注册memorywarningnotification,当vie controller 的任何vie 没有用的
时候,viewDidUnload会被调用,在这里实现将retain的vie release,如果
是 retain 的IBOutlet vie 属性则不要在这里 release,IBOutlet 会负责
release 。
4.打印结果
main()
{
inta[5]={1,2,3,4,5};
int*ptr=(int*)(a+1);
printf(“%d,%d”,*(a+1),*(ptr-1));
}
答:
*(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5
a+1不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数
组的大小(本例是5个int)
int*ptr=(int*)(a+1);
则ptr 实际 是(a[5]),也就是a+5
原因如下:
a是数组指针,其类型为 int(*)[5];而指针加1要根据指针类型加上一定的
值,不同类型的指针+1之后增加的大小不同。
a是长度为5的int数组指针,所以要加 5*sizeof(int)
所以ptr 实际是a[5]
但是prt与(a+1)类型是不一样的(这点很重要)
所以prt-1只会减去sizeof(int*)
a,a的地址是一样的,但意思不一样
a是数组首地址,也就是a[0]的地址,a是对象(数组)首地址,
a+1是数组下一元素的地址,即a[1],a+1是下一个对象的地址,即a[5].
5.简述内存分区情况
提示:分为代码区、数据区、堆区、栈区
(1)代码区:存放函数二进制代码
(2)数据区:系统运行时申请内存并初始化,系统退出时由系统释放。存
放全局变量、静态变量、常量
(3)堆区:通过malloc等函数或ne 等操作符动态申请得到,需程序员手
动申请和释放
(4)栈区:函数模块内申请,函数结束时由系统自动释放。存放局部变量、
函数参数
6.自动释放池是什么,如何工作
当您向一个对象发送一个autorelease 消息时,Cocoa就会将该对象的
一个引用放入到必威体育精装版的自动释放池。它仍然是个正当的对象,因此自动释
放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域
结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。
1)objc-c 是 通过一种”referringcounting”(引用计数)的方式来管理内存的,
对象在开始分配内存(alloc)的时候引用计数为一,以后每当碰到有copy,retain
的时候引用计数都会加一, 每当碰到release和autorelease的时候引用计数
就会减一,如果此对象的计数变为了0, 就会被系统销毁.
2)NSAutoreleasePool 就是用来做引用计数的管理工作的,这个东西一般不
用你管的.
3 )autorelease 和release 没什么区别,只是引用计数减一的时机不同而
已,autorelease会在对象的使用真正结束的时候才做引用计数减一.
7.frame和bounds有什么不同?
答案:
frame指的是:该vie 在父vie 坐标系统中的位置和大小。 (参照点
是父亲的坐标系统) //frame:框架、结构
bounds指的是:该vie 在本身坐标系统中 的位置和大小。(参照点
是本身坐标系统) //bounds:界限
8. 队列和栈有什么区别:
答:队列和栈是两种不同的数据容器。从”数据结构”的角度看,它们都是线
性结构,即数据元素之间的关系相同。
队列是一种先进先出的数据结构,它在两端进行操作,一端进行入队
列操作,一端进行出
您可能关注的文档
- HJ30J产品样本.pdf
- HH-4096使用说明书有页脚调度机.pdf
- HLK-WIFI-M03串口WIFI模块使用手册(HK).pdf
- HIAC 8000A颗粒度计数器操作中文说明书.pdf
- HL高精度活塞式压力计操作手册.pdf
- Hilbert变换与信号的包络_瞬时相位和瞬时频率.pdf
- HMI-高级教程.pdf
- HMK-8 变压器有载分接开关控制器使用说明书.pdf
- HM-1105D用户手册V1.2.pdf
- HMS545系列水份仪说明书V1.0(A5).pdf
- 2024年证券分析与咨询服务项目投资申请报告代可行性研究报告.docx
- 2024年铬酸酐项目资金申请报告代可行性研究报告.docx
- 2024年清洁胶项目资金申请报告代可行性研究报告.docx
- 2024年肉松饼项目投资申请报告代可行性研究报告.docx
- 2024年陆上泵项目资金需求报告代可行性研究报告.docx
- 2024年未硫化复合橡胶及其制品项目资金需求报告代可行性研究报告.docx
- 2024年精密温控节能设备项目资金筹措计划书代可行性研究报告.docx
- 2024年汽车覆盖件模具项目资金筹措计划书代可行性研究报告.docx
- 宋词行书钢笔字帖.pdf
- 我的暑假生活作文三年级300字10篇.pdf
最近下载
- 刍议核心素养理念下小学道德与法治情境教学研究-来源:中国校外教育(第2020022期)-中国儿童中心.pdf VIP
- 屋顶分布式光伏发电项目可行性研究报告2.doc
- QC诊断师培训分享试题.docx
- 结题鉴定表.doc
- 北师大版七上《去括号》说课稿2.pdf
- 对被执行人的拘留申请书.docx VIP
- 黑龙江省齐齐哈尔市铁峰区2023-2024学年九年级上学期期中考试英语试题.pdf VIP
- 肾脏疾病生活质量简表(KidneyDiseaseQualityofLifeshortForm1.3,KDQOL-SFTM1.3).pdf
- 《税法》说课课件.pptx VIP
- ASTM C231_C231M-24 Standard Test Method for Air Content of Freshly Mixed Concrete by the Pressure Method 用压力法测定新拌混凝土中空气含量的标准试验方法.pdf
文档评论(0)