你的理解没有错。都是对的。至于2个问题其实都是一样的答案:不管使用self.与否,当把tView赋值给view2,其实就是把tView的内存地址赋值给view2,赋值后他们2个的内存地址是一样的,也就是他们是同一个对象,不是像你想的那样是2个对象。你可以用 NSLog(@"%@", tView); NSLog(@"%@", view2);去看内存地址是同一个。因为是同一个对象,所以tView和view2都是在dealloc中释放。