4

私は以前に代表団と一緒に働いたことがあります。スーパービューからサブビュー クラスへの委任を作成する方法を知っています。ただし、同じアプローチを使用して逆の方法で実行しようとしていますが、機能していません! 委任は一方向のみに機能することを意図していますか、それともクラス間の双方向通信として使用する方法/トリックはありますか? 親/スーパービュー .h クラスで次のようなエラーが表示されます。

「SubViewControllerDelegate」のプロトコル定義が見つかりません

私のコードは次のようになります: subview.h

#import <UIKit/UIKit.h>

#import "SuperViewController.h"

@protocol SubViewControllerDelegate <NSObject>

    - (void)someMethod:(NSData *)data;

@end

@interface SubViewController : UIViewController 

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

@end

subview.m:

[self.delegate someMethod:data]; 

SuperView.h

#import <UIKit/UIKit.h>

#import "SubViewController.h"

@interface SuperViewController : UIViewController <SubViewControllerDelegate>

@end

SuperView.m:

#pragma mark - SubView Controller Delegate Methods
- (void)someMethod:(NSData *)data{
    NSLog(@"%@", data);
}

私は何か間違っているか、何かを見逃していますか?

4

1 に答える 1