0

ボタンをクリックすると、tableview を含む別のビュー (2 番目のビュー) に移動する mainView(firstview) があります。ここで、viewDidLoad でサーバーからのデータを解析しています。問題は、dismissmodalView を使用して 2 番目のビューを閉じ、私のmainview.theコントローラーの同じボタンは、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];
                       });
    });
}
4

2 に答える 2

1

ビューコントローラを閉じると、それが削除されます。

永続性を手動で管理する必要があります。

したがって、ビューコントローラの最後の状態を、ビューコントローラよりも高いレベルの永続性で保存する必要があります。それがディスクにあるのか、それともおそらくappdelegateにあるのか。それはあなた次第ですが、viewcontrollerは正しく機能しています。

于 2012-08-08T06:29:39.307 に答える
0

表示中のView Controllerを閉じるまでView Controllerをハングアップさせたい場合は、View Controllerをプロパティとして保持できます

@property (nonatomic, retain) MyModalViewController *myModalViewController;

ゲッターメソッドで遅延ロードします..

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

次に、View Controllerがハングアップし、メモリ警告が表示された場合は、プロパティをnilに設定すると、正しくアンロードされます。

于 2012-08-08T07:18:58.127 に答える