解答
2018-03-13 本文已影响131人
冷了年度
1、改变view的frame,layer的frame是否会变化?改变layer.frame,view的frame是否会变化?请问原因是什么?
http://blog.csdn.net/yancechen2013/article/details/51499075
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 200, 100, 100)];
view.backgroundColor = [UIColor redColor];
[self.view addSubview:view];
NSLog(@"修改前view-%@ layer%@",NSStringFromCGRect(view.frame),NSStringFromCGRect(view.layer.frame));
view.frame = CGRectMake(100, 200, 200, 200);
// view.layer.frame = CGRectMake(100, 200, 200, 200);
NSLog(@"修改后view-%@ layer%@",NSStringFromCGRect(view.frame),NSStringFromCGRect(view.layer.frame));
打印:
2018-03-12 15:31:54.320367+0800 mianshi[7499:427395] 修改前view-{{100, 200}, {100, 100}} layer{{100, 200}, {100, 100}}
2018-03-12 15:31:54.320566+0800 mianshi[7499:427395] 修改后view-{{100, 200}, {200, 200}} layer{{100, 200}, {200, 200}}
都会。通过打印看出来都改变了。
每个 UIView 内部都有一个 CALayer 在背后提供内容的绘制和显示,并且 UIView 的尺寸样式都由内部的 Layer 所提供。
D9DB60AE-687D-4CA9-841A-7DB04E7D831C.png
2、autoreleasepool的释放时机是什么,什么时候需要自己声明一个autoreleasepool。
http://blog.csdn.net/z040145/article/details/69398768
本次runloop迭代结束时;
最重要的使用场景,应该是有大量中间临时变量产生时,避免内存使用峰值过高,及时释放内存的场景。
官方解释
4、求一个整数数组中和最大的连续子数组,例如:[1, 2, -4, 4, 10, -3, 4, -5, 1]的最大连续子数组是[4, 10, -3, 4](需写明思路,并编程实现)。
http://blog.csdn.net/liu2012huan/article/details/51296635
简单来说,就是在一个数组A1...nA1...n中找到一个子数组Ai...jAi...j使得
∑jk=iAk∑k=ijAk最大,也有找最小值的(可以转化为找最大值的问题,不再详述)