0

我有这个简单的课程

测试视图控制器.h

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

@protocol TestViewControllerDelegate <NSObject>

-(void)hello;

@end

@interface TestViewController : UIViewController

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

@end

测试视图控制器.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类.h

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

@interface ClassB : NSObject <TestViewControllerDelegate>

@end

B类.m

#import "ClassB.h"
@implementation ClassB

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

@end

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

4

1 回答 1

1

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

B类:

TestViewController *test = [[TestViewController alloc] init];
test.delegate = self;
于 2012-10-13T21:28:15.940 回答