iOS面试

iOS面试题收集(一)

2017-10-27  本文已影响6人  SK丿希望

如何访问并修改一个类的私有属性?

1.通过KVC获取
2.通过runtime访问并修改私有属性

iOS 的沙盒目录结构是怎样的? App Bundle 里面都有什么?

1.沙盒结构

2.App Bundle 里面有什么

+load 和 +initialize 的区别是什么?

UIView 和 CALayer 之间的关系?

frame 和 bounds 的区别是什么?

如何把一张大图缩小为1/4大小的缩略图?

什么是 RunLoop?

RunLoop与线程

RunLoop的处理逻辑

RunLoopMode

mode主要是用来指定事件在运行循环中的优先级
• NSDefaultRunLoopMode:(kCFRunLoopDefaultMode) 默认,空闲状态         
• UITrackingRunLoopMode: ScrollView滑动时会切换到该Mode
• UIInitializationRunLoopMode: RunLoop启动时,切换该Mode
• NSRunLoopCommonModes: (kCFRunLoopCommonModes)  Mode 集合苹果公开提供的Mode有2个    
• NSDefaultRunLoopMode (kCFRunLoopDefaultMode)
• NSRunLoopCommonModes (kCFRunLoopCommonModes)          

当系统出现内存警告时会发生什么?

autorelease 对象在什么情况下会被释放?

分两种情况:手动干预释放和系统自动释放

为什么 UIScrollView 的滚动会导致 NSTimer 失效?

定时器里面有个runoop mode,一般定时器是运行在defaultmode上。但是如果滑动了这个页面,主线程runloop会转到UITrackingRunLoopMode中,这时候就不能处理定时器了,造成定时器失效,原因就是runroop mode选错了

解决办法有2个
上一篇 下一篇

猜你喜欢

热点阅读