2012-08-08 74 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