本帖最后由 x58808749 于 2014-08-21 15:02:21 编辑

解决方案 »

  1.   

    ios 的内存管理是使用的RetainCount (引用计数)。 实例一个或叫创建一个对象的过程是根据类中提供的成员变量的类型进行计算需要分配的内存空间,再调用类方法alloc进行内存分配,这时内存管理中会将这个对象的引用计数+1, init实例方法用于初始化。对象在使用结束之后,需要调用release方法,release方法并非是将对象直接释放,它是将对象的引用计数-1, 内存管理会在某一时刻检查象的引用计数,当retaincount=0时,说明对象可以释放。如果retaincount小于0时,这时就会引起内存问题,导致内存泄露你上面的代码中有几个不对的地方
    1. speed属于Car的属性,你在Student中访问不到self.speed, 这有可能是你的粗心。正确访问应该是self.car.speed
    2. [ _car release]; 这时的_car在被销毁的队列中,在下方NSLog中访问self.car并调用时可能会出现程序异常,因为这时的car可能已经被释放