请原谅:我是初学者。我正在查看另一个问题/答案,并遇到了以下代码:
SpinningView *spinner = [[SpinningView alloc] initWithFrame:CGRectMake(0.0, 0.0, 20.0, 20.0)]
// 现在我们来看看 SpinningView 的 -initWithFrame: 方法的实现
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
self.backgroundColor = [UIColor clearColor];
}
return self;
}
我相信,在第二段代码中,self 指向了消息被发送到的导致遇到“self”的实例,即[SpinningView alloc] 的结果。(或者这不会产生一个实例?)
那么,当你在第 4 行代码调用 self = [super initWithFrame:frame] 时,你是不是重新分配了与“spinner”关联的指针值?即,你没有放弃你在第一行分配的内存吗?还是有人知道编译器只是复制内存值而不是更改指针值?或者是什么??
谢谢!