解决方案 »

  1.   


    ARC机制,我 = nil 了啊
      

  2.   

    你子类化一个UIWindow,替换掉你现在用的UIWindow,然后在dealloc里看下,看有没有真的释放,如果释放了,说明有其他的对象强引用了你的picker,如果没有的话,看看window为什么没有被释放就行了
      

  3.   

    你从哪里看出来UIDatePicker没有被释放的?
    我另构建了一个成员变量:__unsafe_unretained UIDatePicker * datePicker2;让这个datePicker2也指向那一个datePicker的内存地址。然后在dealloc方法里面输出
    -(void)dealloc{
        NSLog(@"%@",datePicker2); 
    }
    因为使用__unsafe_unretained不会造成强引用,不会对datePicker的释放造成影响。运行到NSLog(@"%@",datePicker2);就会崩溃。而且如果在这句话这里打断点,并且在Edit Scheme里面勾选了Enable Zombie Objects,断点到这句话时,可以看到datePicker2的类型为(——NSZombie_UIDatePicker*),也就是说变僵尸指针了,那就是释放了。