Q:

Are all weak references nilled if we enable zombie object?

Normally, if an object deallocated, all weak references will be nilled.
What about if we enable zombie object?
Product -> Edit Scheme -> Enable Zombie Object
Will weak references be nilled too?
Otherwise, bugs that won't happen on normal circumstances will happen on enable zombie object
I strongly suspected, as one of the answer says, that weak references will be nilled.
That being said,
How to fix the bug where viewDidScroll is called when UIViewController is already gone? and answer there suggest otherwise.

A:

The weak reference will be set to nil even if you enable Zombie Objects.
I tested it like this:
id __weak o;
@autoreleasepool {
    id ob = [[NSObject alloc] init];
    o = ob;
    NSLog(@"Weak ref before release %@", o);
}
NSLog(@"Weak ref after release %@", o);

With Zombies enabled or not, the same output happens:

2013-12-05 23:55:35.571 WeakPointers[93840:303] Weak ref before release  
2013-12-05 23:55:35.572 WeakPointers[93840:303] Weak ref after release (null)

