怪我咯2017-04-17 17:01:29
The purpose of defining a macro like this is to add an @ symbol when using it, because the usage of autoreleaasepool is like this:
@autoreleasepool {
}
So using this trick when defining macros will allow you to use it like this when using macros
@weakify(self),
@strongify(self),
As for the redundant @autoreleasepool {}
和@try {} @finally {}
code introduced by the macro definition, it will be optimized away by the compiler because it does nothing, so it will not have an impact on the final generated code.