客観的な C のプロトコルを学習しようとしています。
最初のファイルは FirstViewController.h で、プロトコル "print" が含まれています。デリゲート メソッド「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