iOS 面霸面试题总结~[有答案]
来源:互联网 发布:linux oracle切换实例 编辑:程序博客网 时间:2024/06/08 17:16
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄
Day 01
01-分类与继承的区别
分类:增加方法,不能增加变量.但是可以访问类的变量
继承:子类继承了父类所有的方法和变量
继承能增加变量和方法,分类只能增加方法,不能增加变量.
继承会产生一个新的类.
分类不会产生新的类.同名的方法,分类里面优先调用
02-分类与类扩展的区别
类扩展:可以添加属性声明,添加的方法声明,匿名的分类
分类不能添加属性,只能添加方法
Day 02
//retain mrc strong arc
01- 展开:@property (nonatomic,retain) NSArray *cars;
getter方法:
-(NSArray *)cars{
return _cars;
}
setter方法:
-(void)setCars:(NSArray *)cars{
if(_cars = !cars){
[_cars release];
_cars = [cars retain];
}
}
-(void)dealloc{
[super dealloc];
// [_cars release];
_cars = nil;
}
02- NULL,nil,Nil, NSNull
nil 是对objective c对象赋空值为了避免野指针对指针赋值一个nil
Nil:表示对类进行赋空值
NULL:用于对非对象指针赋空值,比如C指针
NSNull 集合里的空对象
对于像NSArray这样的类型,nil或NULL不能做为加到其中的Object,如果定义了一个NSArray,为其分配了内存,又想设置其中的内容为空,则可以用[NSNULL null】返回的对象来初始化NSArray中的内容 初始化内容为空
Day 03
写一个代理
Day 04
写一个代理
Day 05
weak 和 strong的区别,都是啥时候用?
Day 07 解释@selector和SEL的含义和作用
@selector对方法进行包装
SEL是一个数据类型.每一个方法都有一个 isa指针
[self run]
Day 08 程序启动的过程
0.main函数入口
1.创建UIApplication对象,创建代理对象,设置两者的代理关系
2.开启消息循环
3.加载plist文件,看里面有没有指定storyboard,如果指定了,创建UIWindow对象.加载storyboard文件.根据storyboard里面箭头指向的控制器,创建控制器对象,并且设置成window的根控制器,创建控制器的view,显示到window上并且展示出来
没有storyboard,就需要在程序启动完成以后的代理函数里面写代码创建widow对象,创建控制器设置成window的根控制器,展示window
Day 09数据怎么存储,有几种方式
偏好设置
xml xml文件或者plist文件
NSCoding
sqlite
Core data
Day 10对内存管理的理解
MRC
引用计数器
alloc new (mutable)copy retain +1
relese autorelease -1
苹果官方的内存管理原则:
1.谁创建或者 retain,谁释放
2.alloc new (mutable)copy retain ,就会要对应一个
relese autorelease
dealloc 对象被销毁的之前,调用
ARC
强指针 对象有强指针指向,就不会被释放
弱指针
循环引用问题
- iOS 面霸面试题总结~[有答案]
- iOS面试题3-有答案
- iOS 面试题集合~[有答案]
- iOS面试题及答案大总结
- iOS面试题总结整理(附答案)
- iOS面试题合集(77道)【有答案】
- iOS 最全的面试题~[有答案]
- iOS 网络和多线程面试题01~[有答案]
- iOS 网络和多线程面试题02~[有答案]
- ios面试题以及答案
- iOS面试题及答案
- iOS常遇面试题及答案
- iOS面试题及答案
- iOS面试题(答案)
- iOS面试题2(答案)
- iOS面试题3(答案)
- iOS面试题4(答案)
- iOS面试题5(答案)
- Linux进程通信-队列
- python分片
- CF_An express train to reveries 【模拟】
- Html+Css学习第二天
- android studio Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]
- iOS 面霸面试题总结~[有答案]
- poj1260 Pearls (dp)
- linux文件通配符
- 线程的概念&线程控制&分离线程
- LeetCode | 4. Median of Two Sorted Arrays(中位数)
- linux的grub菜单加密
- linux 下给php安装扩展
- jquery子窗口给父窗口元素赋值和获得值,子窗口调取父窗口方法,父窗口调取子窗口方法
- 以安全的名义,为了那些高考的情怀和努力——