0

我正在编写 iOS 应用程序。我有班级Car和班级Wheel。类 Car 有一个属性 Wheel(仅在这个例子中,在现实中,Car 有多个轮子)。

汽车类:

@property (nonatomic, retain) Wheel * wheel; //because it has retain, so I delete wheel in dealloc function.

当我有一个 Car 对象时,我初始化轮子。

Car* car = [[Car alloc] init];
car.wheel = [[Wheel alloc] init];

我认为该代码会造成内存泄漏,但 XCode 中 Instrument 工具中的泄漏检测器工具无法检测到它。那么,发生了什么?可能是我错了吗?

感谢您的帮助。

4

1 回答 1

1

由于您声明了您的wheel属性以保留给它的对象,因此autorelease向您的对象发送一条消息Wheel

Car* car = [[Car alloc] init];
car.wheel = [[[Wheel alloc] init] autorelease];
于 2013-02-19T03:54:25.350 回答