iOS代码改变世界iOS开发技巧

iOS知识原理篇二

2015-10-13  本文已影响598人  Andyzhao

lldb(gdb)常用的调试命令?

BAD_ACCESS在什么情况下出现?

如何调试BAD_ACCESS错误

简述下Objective-C中调用方法的过程(runtime)

什么是method swizzling(俗称黑魔法)

objc中向一个nil对象发送消息将会发生什么?

objc中向一个对象发送消息[obj foo]和objc_msgSend()函数之间有什么关系?

什么时候会报unrecognized selector的异常?

HTTP协议中POST方法和GET方法有那些区别?

使用block时什么情况会发生引用循环,如何解决?

在block内如何修改block外部变量?

使用系统的某些block api(如UIView的block版本写动画时),是否也考虑循环引用问题?

[UIView animateWithDuration:duration animations:^
{ [self.superview layoutIfNeeded]; }];

[[NSOperationQueue mainQueue] addOperationWithBlock:^
{ self.someProperty = xyz; }];

[[NSNotificationCenter defaultCenter] addObserverForName:@"someNotification"
            object:nil
             queue:[NSOperationQueue mainQueue]
        usingBlock:^(NSNotification * notification)
        { self.someProperty = xyz; }];

OC中常见的循环引用总结

上一篇 下一篇

猜你喜欢

热点阅读