7

Please help me out. I am very sorry if it is duplicate but i didn't get required answer that is why i am asking again.
I want to reload table of anotherview in my first view.

Thanks in adavance.

rihekopo
  • 3,241
  • 4
  • 34
  • 63
Mobile App Dev
  • 1,824
  • 3
  • 20
  • 45

4 Answers4

13

In the first viewcontroller.m, I put this in the viewDidLoad method:

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handle_data) name:@"reload_data" object:nil];

    -(void)handle_data {
        [yourtableview reloaddata];
    }

In the second viewcontroller.m:

    [[NSNotificationCenter defaultCenter] postNotificationName:@"reload_data" object:self];
Necreaux
  • 9,451
  • 7
  • 26
  • 43
Raja Jimsen
  • 230
  • 3
  • 5
3
  1. Create property for UITableview with nonatomic and retain.. (view controller 1)

  2. in View Controller 2 create object of viewcontroller 1.

  3. now with help of viewcontroller 1 object you can access it.

Example:

In ViewController2 .m file:

ViewController1 *objV1 = [ViewController1 alloc]initWithNibName....];   

[objV1.yourTableView reloadData];
matts
  • 6,738
  • 1
  • 33
  • 50
PJR
  • 13,052
  • 13
  • 64
  • 104
1

Do it in below way:

Suppose you have 2 view controller.

  • ViewController1

  • ViewController2

And you have UITableView object tblTable in ViewController2.

in ViewController2.h file:

@property(nonatomic, retain) UITableView *tblTable;

in ViewController2.m file:

@synthesize tblTable;

Now in in ViewController1.m file:

ViewController1 *objV1 = [ViewController1 alloc]initWithNibName....];

[objV1.tblTable reloadData];

I hope it will be helpful to you.

Let me know in case of any difficulty.

Cheers.

rihekopo
  • 3,241
  • 4
  • 34
  • 63
Nishant B
  • 2,897
  • 1
  • 18
  • 25
0

I had similar issue and I was using storyboard this is how I fixed it. Suppose u want to reload the table which is in ViewController2 from a function in ViewController1. Do the following:

 #import "ViewController2.h"

Now put this code in the function or any button action under which u want to reload

ViewController2 *ob= (ViewController2*)[self.navigationController topViewController];
    [ob.viewController2Table reloadData];
Francis F
  • 3,157
  • 3
  • 41
  • 79