装逼场景1
@onExit{
free(properties);
};
装逼场景2
@weakify(self);
[RACObserve(self, name) subscribeNext:^(NSString *name) {
@strongify(self);
self.outputLabel.text = name;
}];
好了,到这里如果大神知道如何装逼的就不要往下看了。😄
不知道的,我就要开始教大家装逼了 😄
技能介绍
我们来看看 onExit的宏定义,这是来自Mantle的代码
#define onExit \
try {} @finally {} \
__strong mtl_cleanupBlock_t metamacro_concat(mtl_exitBlock_, __LINE__) __attribute__((cleanup(mtl_executeCleanupBlock), unused)) = ^
注意一下try {} @finally {},正常情况下我们应该是@try{}@finally{},这里少了个@,好了,装逼技能到此为止。在这里你就可以使用@前缀了。。。。。。
总结
被编译器会对空的try-catch优化,所以没啥性能损耗。而且@前缀更加显眼哦~
我的微博:微博地址
网友评论