简历:STAR法则
1.使用序列化,复制一个view,此方法能完整复制所有subview及关联属性对象,深拷贝。
NSData *copyView = [NSKeyedArchiver archivedDataWithRootObject:self.view];
UIView *newView = [NSKeyedUnarchiver unarchiveObjectWithData:copyView];
3.Runloop
http://www.cocoachina.com/ios/20150601/11970.html
CFRunLoopRef 的代码是开源的,你可以在这里 http://opensource.apple.com/tarballs/CF/CF-855.17.tar.gz 下载到整个 CoreFoundation 的源码。为了方便跟踪和查看,你可以新建一个 Xcode 工程,把这堆源码拖进去看。
4.经典面试题库
6.运行时与消息转发
1.可添加对未定义接口的实现
+ (BOOL) resolveInstanceMethod:(SEL)aSEL;//当对象未实现该SEL时调用,可在该函数添加SEL实现
2.可快速转发未定义接口
- (id)forwardingTargetForSelector:(SEL)aSelector;//当上一个函数返回NO或者还是没有添加实现时调用,请求将该SEL转发,返回转发的被接收对象。
3.慢速转发未定义接口
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
{
if (aSelector == @selector(uppercaseString)) {
return [@"helloworld" methodSignatureForSelector:aSelector];
}
return nil;
}
- (void)forwardInvocation:(NSInvocation *)anInvocation
{
NSLog(@"forwardInvocation");
[anInvocation invokeWithTarget:@"helloworld"];
}
4.未找到未定义接口
+ (void)doesNotRecognizeSelector:(SEL)aSelector;//当SEL转发后,仍然未找到实现IMP,调用出错处理;
- (void)doesNotRecognizeSelector:(SEL)aSelector;//当SEL转发后,仍然未找到实现IMP,调用出错处理;
7. iOS7 以后background fetch 后台刷新
8.网络部分优化
9.TCP,IP详解
10.其他相关技术杂项
另外,也可以使用keychain结合ios系统UUID生成函数,实现iOS唯一标示设备的功能。
12.架构漫谈
13.一个靠谱的IOS程序猿