IOS考题
标准答案:http://blog.csdn.net/xunyn/article/details/8302787
机试题(先做机试) by文汉(下面答案是我做的,并不是标准答案)
• 请使用UIScrollerView控件实现图片切换.
• 请使用UITableView控件实现图片数据绑定,要求每行两列。
以上使用图片素材在显示桌面test_images文件夹
笔试题
•Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?
不可以,但可以通过实现多个协议来实现多重继承。可以实现多个接口。类别。如果是系统已经存在的类,就用类别比较好,这样拓展比较方便。
•#import 跟#include 又什么区别,@class呢, #import<> 跟 #import”"又什么区别?
import 可以防止多次添加头文件; @class 只是告诉编译器 用到这个类,而不用关心类的细节
#import<> 是导入系统文件 、#import “” 是导入自己的头文件
•frame和bounds有什么不同?
frame 是相对父视图,bounds是以本身作为坐标系参考
•属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?
readwrite可读可写
readonly只读
assign 修饰基本类型
retain 修饰对象类型 引用计数会自动加一
copy 深度拷贝 进行指针复制,同时也对指针所指向的内容进行复制
monatomic 非原子性操作
•Objective-C如何对内存管理的,说说你的看法和解决方法?
通过引用计数retainCount 进行标识 ,当一个对象被alloc new copy 是retainCount 会加一,当执行realse 、autorealse 时retainCount 减一, 当retainCount为0时这个对象就会被销毁(但autorealse例外,autorealse 会在离它最近一个释放池在适当时候释放)
•Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么?
NSThread 、GCD、NSOperation
在主线程执行 performSelectorOnMainThread
self performSelectorOnMainThread: withObject: waitUntilDone:
•浅复制和深复制的区别?请举例说明
浅复制只是复制了指针,深度复制复制指针同时也会复制指针所指向的内容
•NSArray和NSMutableArray 有什么区别?简要说下什么时候该用?
NSMutableArray会动态拓展空间。当数组中存放的长度会变动时,就用NSMutableArray
•UIView的动画效果有那些?
平移、放大、渐变、旋转