ios基础(二)

一、swift 类和结构体的区别 作为函数参数传递两者的区别 值类型传递会copy?每次传递都会复制?对性能消耗有没有影响?

区别:
1.类属于引用类型,结构体属于值类型
2.类允许被继承,结构体不允许被继承
3.类中的每一个成员变量都必须初始化,否则编译器会报错,而结构体不需要,编译器会自动生成init函数,给变量默认值

二、swift面向协议的理解?

三、block造成循环引用的原因?解决方法?

四、block的类型?在堆上?在栈上?内存结构上的区别?block创建的时候是在堆上吗?copy到堆上的作用?

五、layoutSubView的调用时机有哪些?旋转屏幕会不会触发?init方法会触发不?layoutSubviews的作用?

layoutSubView的调用情况:

  1. init初始化不会触发调用
  2. addsubview会触发调用
  3. 改变view和width和height的时候会触发调用
  4. 一个UISrollview滚动会触发调用
  5. 旋转screen会触发调用
  6. 改变一个UIView大小的时候会触发superView和layoutSubviews实践
  7. 直接调用setLayoutSubViews会触发调用
  8. viewWillAppear会调用
  9. viewDidAppear会调用

六、MVVM的优点?项目MVC什么情况下用MVVM?

七、有做过组件化的开发吗?多个app ?

八、定时器有哪些实现方式?区别?NSTimer该执行没执行的情况?

九、项目组数据持久化用过哪些? NSuerDefault会存那些数据类型 能存自定义数据类型吗 person?(×)FMDB 解档归档?

十、页面卡顿 丢帧的情况?

你可能感兴趣的:(大厂offer++,ios,swift,ui)