首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在viewControllers中设置TabbarController的委托?

如何在viewControllers中设置TabbarController的委托?
EN

Stack Overflow用户
提问于 2013-07-17 02:13:04
回答 1查看 845关注 0票数 3

EDit:

我有带有两个选项卡的选项卡控制器,第一个选项卡有一个viewController,第二个选项卡有带有的navigationViewController和带有tableView的两个ViewControllers堆栈。

表1->VC1

Tab2 2-->NVC

我要推的代码:

fistVC1.m

代码语言:javascript
复制
  - (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

代码语言:javascript
复制
 @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

代码语言:javascript
复制
  - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
     NSLog(@"delegate%@",self.delegate);
     if (indexPath.row == 0) {
      [self.delegate someMethod];
     }

VC1.h

代码语言:javascript
复制
    #import <UIKit/UIKit.h>
    #import"secondVC2"
    @interface VC1 :UIViewController<secondVC2Delegate>{

     secondVC2 *tvc2;

    }
    @property (nonatomic ,retain) secondVC2 *tvc2;

    - (void)someMethod;

    @end;

VC1.m

代码语言:javascript
复制
   - (void)viewDidLoad
    {
       tvc2 = [secondVC2 alloc] init];
       tvc2.delegate = self;
    }

但是这个代表一直被释放,我在secondVC2中得到了零的委托,我不知道为什么。所以我怎么能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-17 02:27:53

代码语言:javascript
复制
ViewController1 *viewController1 = [[ViewController1 alloc] init];
ViewController2 *viewController2 = [[ViewController2 alloc] init];
viewController1.delegate = viewController2;
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController2];
[self.tabBarController setViewControllers:@[viewController1, navigationController]];

您还可以查看NSNotificationCenter

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17689964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档