2013-12-13 115 views
1

我使用UIPageViewController時遇到大內存泄漏問題。我有一個看法,我滾動它。我發現記憶增長非常快。內存泄漏iPhone和UIPageViewController

我認爲這就是問題所在:

- (ViewControllerEvent *)viewControllerAtIndex:(NSUInteger)index { 

    ViewControllerEvent *childViewController = [[UIStoryboard storyboardWithName:[self isIPad][email protected]"Main_iPad":@"Main_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"ViewControllerEvent2"]; 

    childViewController.index = index; 
    childViewController.event = [self.events objectAtIndex:index]; 
    return childViewController; 

} 

我的類:

@interface ViewControllerEvent : UIViewController 

@property (assign, nonatomic) NSDictionary *event; 
@property (assign, nonatomic) NSInteger index; 

@property (weak, nonatomic) IBOutlet UIImageView *header; 
@property (weak, nonatomic) IBOutlet UIScrollView *_scrollViewDesc; 

@property (retain, nonatomic) IBOutlet UITextView *descLabel; 
@property (retain, nonatomic) IBOutlet UIView *whiteBackground; 
@property (weak, nonatomic) IBOutlet UIImageView *bootomMapImage; 

@end 

我用我的傳呼機約100意見。

+0

這真的是一個實例方法嗎?它不應該是一個類方法嗎? – bilobatum

+0

我編輯了我的問題。 – Unmerciful

+0

您可以通過使用類方法來減少內存使用量。請參閱下面的答案。一個實例方法需要您試圖爲頁面視圖控制器進行銷售的視圖控制器實例。 – bilobatum

回答

0

內存泄漏通常與保持強引用某個應該有弱引用的對象有關,例如委託。無論是或者你保持對每個子視圖控制器的引用,從而增加內存的大小。

0

不要使用實例方法爲頁面視圖控制器銷售視圖控制器;改爲使用類方法。

+ (ViewControllerEvent *)viewControllerAtIndex:(NSUInteger)index 
{ 
    … 

    return childViewController; 
}