1.沙盒 2017-8-2
2.cocopods原理 2017-8-3
3.APP生命周期 2017-8-3
4.控制器生命周期 2017-8-4
loadView:加载view
ViewDidLoad:view加载完毕
ViewWillAppear:view将要显示
ViewWillLayoutSubViews:view将要布局子控件
ViewDidLayoutSubViews:view布局子控件完成
ViewDidAppear:view完全显示
ViewWillDisAppear:view即将消失
ViewDidDisAppear:view完全消失
5.iOS开发中Debug和Release的区别和使用 2017-8-5
6.@synthesize 和 @dynamic 分别有什么作用 2017-8-5
7.这个写法会出什么问题: @property (copy) NSMutableArray *array;2017-8-7
8.用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?2017-8-7
分别用这两个属性声明name,展示不同结果
@property(nonatomic, copy)NSString *name;
NSMutableString *str = [NSMutableString stringWithString:@"xiaoming"];
Student *stu = [[Student alloc] init];
stu.name = str;
NSLog(@"%@", stu.name);
[str appendString:@"123"];
NSLog(@"%@", stu.name);
结果 :
2017-08-07 10:49:52.503 APP生命周期哦[20667:11193446] xiaoming
2017-08-07 10:49:52.503 APP生命周期哦[20667:11193446] xiaoming
@property(nonatomic, strong)NSString *name;
执行同样代码结果:
2017-08-07 10:49:52.503 APP生命周期哦[20667:11193446] xiaoming
2017-08-07 10:49:52.503 APP生命周期哦[20667:11193446] xiaoming123
总结:
1.因为父类指针可以指向子类对象,使用 copy 的目的是为了让本对象的属性不受外界影响,使用 copy 无论给我传入是一个可变对象还是不可对象,我本身持有的就是一个不可变的副本.
2.如果我们使用是 strong ,那么这个属性就有可能指向一个可变对象,如果这个可变对象在外部被修改了,那么会影响该属性.
***没有人生来便懂得一切,你不需要自卑,你只需要更努力。
***每个人都要走一条自己坚定了的路,就算是粉身碎骨。
***如果再也不能见到你,祝你早安,午安,晚安。
9.分类的作用?分类和继承的区别?2017-8-8
分类可以在不获悉,不改变原来代码的情况下往里面添加新的方法,只能添加,不能删除修改,并且如果分类和原来类中的方法产生名称冲突,则分类将覆盖原来的方法,因为分类具有更高的优先级。
继承可以增加,修改或者删除方法,并且可以增加属性;但是分类只能添加方法,不能删除修改,也不能增加属性。
10.推送的原理 2017-8-9
http://www.jb51.net/article/84082.htm
http://www.jianshu.com/p/9ac37c964f2d
11.子视图超出父视图不响应解决办法 2017-8-9
http://blog.163.com/micky_and_pupu/blog/static/239485040201551134349826/
12.深入理解RunLoop 2017-8-10
https://blog.ibireme.com/2015/05/18/runloop/
13.堆和栈的区别 2017-8-10
14.iOS 关键字const/static/extern 2017-8-11
http://www.jianshu.com/p/7a6885918b67
15.响应者链条 2017-8-14
http://www.jianshu.com/p/fe1d766bc406
http://www.cocoachina.com/ios/20160113/14896.html
16.谈谈id和instancetype的异同?2017-8-15
17.静态库和动态库的区别 2017-8-15
http://www.cnblogs.com/bboymars/p/4980754.html
18.TCP 和 UDP 的区别 2017-8-16
19. 断点续传的实现 2017-8-18
20.Swift重载和重写。2017-8-19
http://www.jianshu.com/p/5c133b123c74
21.Swift桥接OC文件 2017-8-19
22.OC中有多继承么。2017-8-21
没有多继承,用<>来替代
23.取消自动缩进 2017-8-21
//取消自动缩进 - 如果隐藏了导航栏会缩进 20 个点
automaticallyAdjustsScrollViewInsets = false
tabView?.contentInset = UIEdgeInsetsMake(nav.bounds.height,
0,
tabBarController?.tabBar.bounds.height ?? 49,
0)
24.使用纯代码写Autolayout,需先取消Autoresizing
for v in subviews {
v.translatesAutoresizingMaskIntoConstraints = false
}
25.swift计算型属性和懒加载的区别
使用方法完全一致
都是用 var 声明
不同点
实现原理不同
懒加载是第一次调用属性时执行闭包进行赋值
计算型属性是重写 get 方法
调用 {}的次数不同
懒加载的闭包只在属性第一次调用时执行
计算型属性每次调用都要进入 {} 中,return 新的值
网友评论