I started learning Cocoa when there still was the manual counting, but after few time I got the new OS update and ARC was available.
I know how to user retain-release if I don't use ARC, but the problem comes with ARC enabled.I always used strong references and everything was fine, never had leaks nor dangling pointers.
But I want to understand better how it works.
Now I am running a project for debugging, with zombies enabled.I tried do do this:
I would except that str is zombie because @"Hello" should be autoreleased, and I print it outside the pool.But instead it just prints "Hello" and all goes fine.Why?
Also a tip, should I start making some projects with manual counting to understand how ARC works?
I know how to user retain-release if I don't use ARC, but the problem comes with ARC enabled.I always used strong references and everything was fine, never had leaks nor dangling pointers.
But I want to understand better how it works.
Now I am running a project for debugging, with zombies enabled.I tried do do this:
Code:
__unsafe_unretained NSString* str;
@autoreleasepool
{
str= @"Hello";
}
NSLog(@"%@",str);
I would except that str is zombie because @"Hello" should be autoreleased, and I print it outside the pool.But instead it just prints "Hello" and all goes fine.Why?
Also a tip, should I start making some projects with manual counting to understand how ARC works?