id obj = [[NSObject alloc] init];
@autoreleasepool{
id __weak weakObj = obj;
_objc_autoreleasePoolPrint();
NSLog(@"%@",[weakObj class]);
_objc_autoreleasePoolPrint();
}
After running the code above, I get unexpected results when printing the pool:
objc[22671]: [0x7ff544817858] ################ POOL 0x7ff544817858
objc[22671]: ##############
I can't find the object registered in autoreleasepool. Why?
objis never autoreleased, so it isn't placed in an autorelease pool. If you'd likeobjto be autoreleased, you must call-autoreleaseon it, e.g.Note that
-autoreleaseisn't available in ARC code.