在我的MasterViewController
uitabelview
沒有選擇方法更改DetailedViewController
視圖。在拆分視圖控制器:調用詳細視圖控制器方法從主視圖控制器
我的問題是當我在DetailedViewController
中更改視圖時,如果用戶未手動保存,則需要保存文本字段值。
我該如何檢查MasterViewController
或任何想法來檢測主視圖做選擇方法從DetailedViewController
調用。
在此先感謝。
在我的MasterViewController
uitabelview
沒有選擇方法更改DetailedViewController
視圖。在拆分視圖控制器:調用詳細視圖控制器方法從主視圖控制器
我的問題是當我在DetailedViewController
中更改視圖時,如果用戶未手動保存,則需要保存文本字段值。
我該如何檢查MasterViewController
或任何想法來檢測主視圖做選擇方法從DetailedViewController
調用。
在此先感謝。
在MasterViewController.h
@protocol CellSelectionDelegate <NSObject>
-(void)rowSelected:(NSIndexPath *)indexPath;
@end
@interface MasterViewController : UIViewController <UITableViewDataSource,UITableViewDelegate>
{
}
@property(nonatomic,strong)IBOutlet UITableView *menuTable;
@property (nonatomic, weak) id<CellSelectionDelegate> cellDelegate;
@end
在
MasterViewController.m
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if([self.cellDelegate respondsToSelector:@selector(rowSelected:)])
{
//sending selected indexPath, you can use indexPath.row in your detail view
[self.cellDelegate rowSelected:indexPath];
}
}
現在
在DetailedViewController.h
#import "MasterViewController.h"
@interface DetailedViewController : UIViewController<CellSelectionDelegate>
{
}
@property(nonatomic,strong)MasterViewController *masterView;
@end
在DetailedViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
//Set master page as the delegate.
masterView.delegate = self;
}
現在宣佈以下的委託方法
-(void)rowSelected:(NSIndexPath *)indexPath
{
NSLog(@"Your selected Row : %d",indexPath.row);
//do your work according to selection made in master view. use indexpath.row to identify which option was selected, you can also pass the other data with rowselected: method
}
我想你應該實現[方案](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithProtocols/WorkingwithProtocols的.html)。 – Mahesh
你可以給一些代碼。 – chimbu
你想從'MasterViewController'的'didSelectRowAtIndexPath'調用一個'DetailedViewController'方法,對吧? – Mahesh