我很難在UISplitViewController內的兩個視圖控制器之間通信數據。我正在關注this教程。我能夠在主視圖和詳細視圖上使用UITableView創建分割視圖控制器。現在,我真正想要的是,當我點擊主表中的特定行時,它必須向詳細視圖發送一些值。UISplitViewController中兩個視圖控制器之間的通信
我只是玩弄一個自定義委託來傳遞一個值從一個視圖控制器到另一個看看他們之間是否有任何溝通,但似乎沒有任何工作方式。
在MasterTableView.h
@protocol sendingProtocol <NSObject>
-(void)passSomeValue:(NSString *)someValue;
@end
@interface MasterTableView : UITableViewController
{
NSArray *menuArray;
id<sendingProtocol>delegate;
}
@property (nonatomic,assign) id<sendingProtocol>mydelegate;
@end
合成的.m文件。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[[self mydelegate] passSomeValue:@"Some Value"];
}
在DetailTableView.h
-(void)passSomeValue:(NSString *)someValue
{
NSLog(@"%@", someValue);
}
請注意,我打電話viewDidLoad方法裏面mydelegate。這是寫方式嗎?有人可以幫忙嗎?
- (void)viewDidLoad
{
[super viewDidLoad];
MasterTableView *masterView = [[MasterTableView alloc] init];
masterView.mydelegate = self;
}
預先感謝您!
http://stackoverflow.com/questions/8031238/uisplitviewcontroller-master-detail-communication –
@Puneet的可能重複我已經通過了的問題之前,我張貼這一個。 Ray Wanderlich的教程使用Storyboard,但我只是使用Xib。互聯網上的很多教程都使用故事板。感謝您的幫助。 – GenieWanted
查看[這個答案!(http://stackoverflow.com/questions/33721081/swift-how-to-detect-if-uisplitviewcontroller-is-currently-showing-1-or-2-contro/38547858#38547858 )它可能會給你一些見解。 –