2011-08-20 44 views
6

Hãy giúp tôi. Tôi rất xin lỗi nếu nó là trùng lặp nhưng tôi đã không nhận được câu trả lời yêu cầu đó là lý do tại sao tôi yêu cầu một lần nữa.
Tôi muốn tải lại bảng của một lần xem khác trong chế độ xem đầu tiên của tôi.cách tải lại chế độ xem bảng của bộ điều khiển uiviewcontroller khác trong chế độ xem hiện tại

Cảm ơn bạn đã yêu thích.

+2

Bạn đã cố gắng tải lại tableView trong viewWillAppear. [self.tableView reloadData]; –

Trả lời

12

Trong viewController đầu tiên.m, tôi đặt này trong phương pháp viewDidLoad:

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

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

Trong viewcontroller.m thứ hai:

[[NSNotificationCenter defaultCenter] postNotificationName:@"reload_data" object:self]; 
+0

Hoạt động tốt .. !! (Y) – Gati

3
  1. Tạo thuộc tính cho UITableview với nonatomicretain .. (xem điều khiển 1)

  2. trong View Controller 2 tạo đối tượng của viewController 1.

  3. bây giờ với sự giúp đỡ của viewController 1 đối tượng bạn có thể truy cập nó.

Ví dụ:

Trong file .m ViewController2:

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

[objV1.yourTableView reloadData]; 
1

làm nó theo cách dưới đây:

Giả sử bạn có 2 bộ điều khiển xem.

  • ViewController1

  • ViewController2

Và bạn có UITableView đối tượng tblTable trong ViewController2.

trong ViewController2.h file:

@property(nonatomic, retain) UITableView *tblTable; 

trong ViewController2.m file:

@synthesize tblTable; 

Bây giờ trong trong ViewController1.m file:

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

[objV1.tblTable reloadData]; 

Tôi hy vọng nó sẽ rất hữu ích cho bạn.

Hãy cho tôi biết trong trường hợp có bất kỳ khó khăn nào.

Chúc mừng.

0

Tôi có vấn đề tương tự và tôi đã sử dụng bảng phân cảnh, đây là cách tôi đã khắc phục sự cố. Giả sử u muốn tải lại bảng trong ViewController2 từ một hàm trong ViewController1. Làm như sau:

#import "ViewController2.h" 

Bây giờ đặt mã này trong hàm hoặc bất kỳ nút hành động theo đó u muốn tải lại

ViewController2 *ob= (ViewController2*)[self.navigationController topViewController]; 
    [ob.viewController2Table reloadData]; 
Các vấn đề liên quan