想看看是否有人可以就如何解决我目前在iPad应用程序中面临的这个问题提供一些建议/指示。这是我在下面描述的图形的链接 http://www.yogile.com/dsruyzk7/41m/share/?vt=QANtu4j
基本上我有一个包含 2 个子视图控制器的 parentViewController。Child 1 有一个 UITableView,而 Child 2 有一个自定义 UIView。我能够从 didSelectRowAtIndexPath 将 Child 1 上的 UITableview 中的信息加载到 Child 2 上的自定义 UIView 中。数据显示在 Child 2 上后,我进行了一些处理。处理完成后,我需要更新 Child 1 上的 UITableView,以便新/更新的数据显示在 UITableView 上。我尝试在 Child 1 上创建一个代表,但没有工作,也许我设置了错误。因此,任何帮助建议将不胜感激。
谢谢
.h 在子 2 视图控制器上
@class Child2ViewController;
@protocol child2Delegate <NSObject>
- (void)refreshTable:(Child2ViewController*)controller passedDict:(NSDictionary *)dict;
@interface Child2ViewController:UIViewController<UITableViewDataSource, UITableViewDelegate> {
UITableView *myTableView;
id<child2Delegate> delegate;
Child1ViewController *child1VC;
}
@property (nonatomic, weak) id<child2Delegate> delegate;
…
…
@end
.m 在子 2 视图控制器上
@synthesize delegate;
…
..
..
#after all the processing is done we are ready to refresh the view
#updatedDictForTableView is basically a NSDictionary and has the updated data needed
#for the UITableview on child1VC.
-(void)processData {
child1VC.delegate = self
NSLog(@"Dump the updated Data : %@", updatedDictForTableView);
[delegate refreshTable:self passedDict:updatedDictForTableView;
}
Child1 ViewController 中的 .h
@interface Child1ViewController : UIViewController <child2Delegate> {
….
….
..
}
Child1 ViewController 中的 .m
- (void)refreshTable:(Child2ViewController*)controller passedDict:(NSDictionary *)dict {
NSLog(@"dump dict %@", dict);
[myTableView reloadData];
}