2012-09-20 62 views
0

我有兩個類A和B.在A中,我創建了B的一個對象,在B中我訪問了類A的Back屬性。在B中,我聲明瞭A是一個弱引用變量。代碼運行良好,沒有任何崩潰。但是我不確定在我的實現中是否有內存泄漏。另外,我是否必須將backButton聲明爲A中的弱引用?這種物體排列是否泄漏?

@interface A : UIViewController 
{ 

    IBOutlet UIButton *backButton; 
    B * cntrl; 

} 

@property (nonatomic, strong) UIButton *backButton; 

// Here is the implementation of A 
@implementation A 
@synthesize backButton; 

// pushing to B 
cntrl = [[B alloc]initWithNib:nil bundle:nil]; 
cntrl.parent = self; 
[self.navigationController pushViewController:cntrl animated:YES]; 


@interface B:UIViewController 
{ 
    A __weak *parent; 
} 

@implementation 

-(void)method 
{ 

parent.backButton.enable = NO; 
[self.navigationController popViewControllerAnimated:YES]; 
} 
+0

我不能想到一個孩子會強烈聯繫其父母的情況。對於這種關係總是使用弱鏈接 –

回答

0

不,你的代碼沒問題。 如果您有任何疑問,可以使用樂器測試您的應用程序。

+0

推送後釋放cntrl怎麼辦? – Stas

+0

我正在使用ARC,所以我不必手動釋放cntrl。 IOS會爲我做。 –