2012-08-08 58 views
0

我有一個mainView(firstview)在哪裏點擊一個按鈕帶我到另一個視圖(第二視圖),其中包含tableview .. where im解析來自我的服務器的數據在viewDidLoad。問題是,如果我關閉我的第二個查看使用dismissmodalView並在我的主視圖中單擊相同的按鈕。控制器轉到viewDidLoad而不是viewDidAppear ..這使得再次加載服務器並填充表視圖..你們可以幫我。viewDidLoad每次調用

-(void)loadFeeds 
{ 
//Activity Indicator MBProgressHUD 
if(activity == nil){ 
    activity = [[MBProgressHUD alloc] initWithView:self.view]; 
    [self.view addSubview:activity]; 
    [activity hide:YES]; 
} 

//Pull to Refresh (Ego refresh header view) Declarations Facebook and Twitter 
if (_refreshHeaderViewTwitter == nil) { 
    EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tblTwitter.bounds.size.height, self.view.frame.size.width, self.tblTwitter.bounds.size.height)]; 
    view.delegate = self; 
    [self.tblTwitter addSubview:view]; 
    _refreshHeaderViewTwitter = view; 
    [_refreshHeaderViewTwitter refreshLastUpdatedDate]; 
} 

[activity show:YES]; 
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{ 

    getTwitterArray = [[NSMutableArray alloc]initWithArray:[Util getJsonArray:Twitter]]; 

    dispatch_async(dispatch_get_main_queue(), 
        ^{    
         [self.tblTwitter reloadData]; 
         [activity hide:YES]; 
        }); 

}); 
} 
-(void)viewDidAppear:(BOOL)animated 
    { 
    [super viewDidAppear:animated]; 
    } 

回答

0

如果你想在視圖控制器流連,直到您關閉其呈現的視圖控制器,那麼你可以保留的視圖控制器作爲屬性

@property (nonatomic, retain) MyModalViewController *myModalViewController;

和延遲加載它,在它的getter方法..

- (MyModalViewController *)myModalViewController 
{ 
    if (_myModalViewController == nil) 
    { 
    _myModalViewController = [[MyModalViewController alloc] initWithNibName:nil bundle:nil]; 
    } 
    return _myModalViewController; 
} 

那麼你的視圖控制器會流連,如果/當你得到一個內存警告,設置屬性爲nil,它會正確地卸載。

1

解僱viewcontroller擺脫它。

您將不得不手動管理持久性。

因此,您需要將視圖控制器的最後一個狀態保存在比視圖控制器更高的某個持久級別上。也許這到磁盤或甚至在appdelegate。這取決於你,但視圖控制器工作正常。

+0

我已經得到了另一個表視圖,其中我從YouTube加載我的提要,並在viewDidload解析,當我關閉並打開控制器沒有進入viewDidLoad,而是viewDidAppear – user578386 2012-08-08 06:33:08

+0

你是說當它再次打開它不重新解析? – 2012-08-08 06:34:12

+0

yup.coz通常控制器來viewDidAppear和將有先前緩存的數據將是tableview.but我的問題是它的viewdidload來每次我提出和解僱我的模態視圖controller.which導致重新加載tableview每單一時間 – user578386 2012-08-08 06:36:43