![](/img/trans.png)
[英]viewDidLoad getting called every time a child is added to firebase database
[英]viewDidLoad getting called every time
我有一个mainView(firstview),在其中单击按钮会将我带到另一个包含tableview的视图(第二个视图)。在这里,我从viewDidLoad中的服务器中解析数据。问题是如果我使用dismissmodalView关闭第二个视图并单击相同的按钮在我的主视图中。控制器转到viewDidLoad而不是viewDidAppear ..这使得再次加载服务器并填充表视图。
-(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];
});
});
}
解雇viewcontroller摆脱它。
您将必须手动管理持久性。
因此,您将需要以比ViewController高的持久性级别保存View Controller的最后状态。 多数民众赞成在磁盘或什至在appdelegate中。 这取决于您,但是视图控制器可以正常工作。
如果您希望视图控制器一直挂起,直到您关闭其当前的视图控制器,则可以将视图控制器保留为一个属性
@property (nonatomic, retain) MyModalViewController *myModalViewController;
并在getter方法中延迟加载它。
- (MyModalViewController *)myModalViewController
{
if (_myModalViewController == nil)
{
_myModalViewController = [[MyModalViewController alloc] initWithNibName:nil bundle:nil];
}
return _myModalViewController;
}
则您的视图控制器将徘徊,如果/当您收到内存警告时,将该属性设置为nil即可正确卸载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.