編輯:如何在TabbarController中設置viewControllers的委託?
我有兩個選項卡tabbarcontroller,第一個標籤我有一個的viewController,第二突片我有navigationViewController與2堆棧的tableView ViewControllers的。
TAB1 ---> VC1
TAB2 ---> NVC - > fistVC1 ----推-----> secondVC2。
我的代碼來推動:
fistVC1.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0 & (indexPath.row == 0)) {
_secondVC2 = [[secondVC2 alloc] init];
[self.navigationController pushViewController:_secondVC2 animated:YES];
[_secondVC2 release];
什麼,我需要做的是設置VC1爲secondVC2的代表,當secondVC2細胞選擇我要發送消息給VC1。
我該怎麼做,請給我一些建議。
我試圖像吹:
secondVC2.h
@protocol secondVC2Delegate <NSObject>
- (void)someMethod;
@end
#import <UIKit/UIKit.h>
@interface secondVC2 :UIViewController<UITableViewDelegate,UITableViewDataSource>
{
id<secondVC2Delegate>delegate;
}
@property (nonatomic ,assign) id<secondVC2Delegate>delegate;
@end;
secondVC2.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"delegate%@",self.delegate);
if (indexPath.row == 0) {
[self.delegate someMethod];
}
VC1.h
#import <UIKit/UIKit.h>
#import"secondVC2"
@interface VC1 :UIViewController<secondVC2Delegate>{
secondVC2 *tvc2;
}
@property (nonatomic ,retain) secondVC2 *tvc2;
- (void)someMethod;
@end;
VC1.m
- (void)viewDidLoad
{
tvc2 = [secondVC2 alloc] init];
tvc2.delegate = self;
}
但委託人不斷髮布,我得到了第二個VC2中的零委託,我不知道爲什麼。 那麼我怎麼能實現這個?
'@protocol Table VC2'?你確定嗎? –
Kjuly
編輯它。拼寫錯誤。 – Ezimet
您確定VC1.viewDidLoad中的tvc2與Tab2 ---> NVC - > TableVC1 ----> tableVC2中的tvc2是同一個實例嗎? – Bird