经常可以看到如下的情况:
UIView *aview=[[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[self.window addSubview:aview];
[aview release];
UIView *cview=[[UIViewalloc] initWithFrame:CGRectMake(100, 100, 50, 50)];
[bview addSubview:aview];
release接下来的程序,aview还是可以正常使用,这是为什么呢?
这个问题的关键在于调用方法addSubView的时候,aview的引用计数+1,release掉的是之前的allco申请的+1.所以还是可以正常使用的。