假设我在 .h 中声明了 UIView viewLoading。而且我不直接初始化它(在第一个代码中)。
第一个代码。
UIView *viewLoading2 = [[[UIView alloc] initWithFrame:CGRectMake(75 , 155, 170.0, 170.0)]];
viewLoading = viewLoading2;
[viewLoading2 release]
第二个代码:
viewLoading = [[[UIView alloc] initWithFrame:CGRectMake(75 , 155, 170.0, 170.0)]];
第三条代码:
- (void) viewLoad:(UIView *) viewLoading2
{
viewLoading = viewLoading2;
//do i need to retain, alloc, or release something here?
}
2在第一个代码中,我需要在 dealloc 中释放 viewLoading 吗?如果我不申报它的财产会怎样?
在第二个代码中,它与第一个代码有相同的效果吗?(是否需要解除分配)。
对于第三个代码,它与第一个代码有相同的效果吗?在我编码之后我应该做什么?(见评论)
iPhone 代码是否总是需要释放 .h 中声明的变量?还是仅在分配 .h 中声明的变量时才分配?如果像在第一个代码中一样,我需要解除 viewLoading 吗?
有什么不同
self.viewloading = viewLoading2;
和
viewloading = viewLoading2;
谢谢