繁体   English   中英

如何设置代表

[英]How to set delegate

我有这个简单的课程

TestViewController.h

#import <UIKit/UIKit.h>
#import "ClassB.h"

@protocol TestViewControllerDelegate <NSObject>

-(void)hello;

@end

@interface TestViewController : UIViewController

@property (nonatomic , weak) id<TestViewControllerDelegate> delegate;

@end

TestViewController.m

#import "TestViewController.h"

@interface TestViewController ()

@end

@implementation TestViewController
@synthesize delegate = _delegate;

- (void)viewDidLoad
{
    [super viewDidLoad];

    /******* WHAT SHOULD I WRITE HERE?!?? *****/

    [self.delegate hello];

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

@end

还有另一类:

B类

#import <Foundation/Foundation.h>
#import "TestViewController.h"

@interface ClassB : NSObject <TestViewControllerDelegate>

@end

班级

#import "ClassB.h"
@implementation ClassB

-(void)hello
{
    NSLog(@"HELLO!");
}

@end

现在,我需要创建ClassB的实例,并将该实例设置为TestViewContoller的委托,但是我不知道该写些什么! 你能帮助我吗?

你在那里写的是正确的。 您需要做的唯一另一件事是将ClassB设置为TestViewController的委托。 常用的一种方法是让ClassB实例化TestViewController,然后将其自身设置为委托:

在ClassB中:

TestViewController *test = [[TestViewController alloc] init];
test.delegate = self;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM