ify #if DEBUG #if __has_feature(objc_arc) #define BAKit_Weakify(object) autoreleasepool{} __weak __typeof__(object) weak##_##object = object; #else #define BAKit_Weakify(object) autoreleasepool{} __block __typeof__(object) block##_##object = object; #endif #else #if __has_feature(objc_arc) #define BAKit_Weakify(object) try{} @finally{} {} __weak __typeof__(object) weak##_##object = object; #else #define BAKit_Weakify(object) try{} @finally{} {} __block __typeof__(object) block##_##object = object; #endif #e