我尝试学习目标C的协议。
我写了两个文件,第一个是FirstViewController.h,其中有一个协议“打印”。我使用委托方法“print”在successViewController 中声明FirstViewController 类。问题是为什么控制台输出是“C”。为什么我不能得到“B”输出?为什么协议方法没有执行?
#import <UIKit/UIKit.h>
#import "FirstViewController.h"
@interface successViewController : UIViewController <FirstViewControllerDelegate> {
}
@end
#import "successViewController.h"
#import "FirstViewController.h"
@implementation successViewController
- (void)viewDidLoad {
FirstViewController *firstViewController= [[FirstViewController alloc] init];
firstViewController.delegate=self;
NSLog(@"C");
[super viewDidLoad];
}
-(void) print{
NSLog(@"B");
}
@end
#import <Foundation/Foundation.h>
@class FirstViewController;
@protocol FirstViewControllerDelegate <NSObject>
- (void) print;
@end
@interface FirstViewController : NSObject {
id <FirstViewControllerDelegate> delegate;
}
@property (nonatomic, assign) id <FirstViewControllerDelegate> delegate;
@end
#import "FirstViewController.h"
@implementation FirstViewController
@synthesize delegate;
@end