Hai Nan

但行好事,莫问前程.

记录知识点


include import class

import的功能与#include差不多,但是可以解决头文件重复导入的问题,而#include会有重复导入头文件的问题


class A.h使用了#import “B.h” class B.h使用了#import “A.h”

那么这就会导致了头文件循环引用的问题了,通常都是出现虽然你导入了该头文件,但在使用时比如使用@propery(nonatomic)A *a;会出现: Unknown Type 之类错误. 所以这个时候@class就派上用场了。

参考

#include、#import与@class的使用与头文件循环引用问题

最近的文章

instancetype id

instancetype的作用,就是使那些非关联返回类型的方法返回所在类的类型!参考Objective-C中的instancetype和id关键字…

继续阅读
更早的文章

Block

UIView 的动画代码, 我们在使用 UIView 的 animateWithDuration:animations 方法 做动画的时候, 并不需要使用 weak self, 因为引用持有关系是: UIView 的某个负责动画的对象持有了 block block 持有了 self因为 self 并不持有 block, 所以就没有循环引用产生, 因为就不需要使用 weak self 了在 block 中先写一个 strongSelf 其实是为了避免 block 的执行过程中, 突然出现...…

继续阅读