我有一个 ViewController 和一个 UIView。UIView 有一个委托,委托功能是在 ViewController 中设置的。
我想做的就是在单独的文件中定义委托函数。所以 UIView.m #imports 单独的文件,而不是所有使用 UIView 的 ViewControllers。
我相信这是一个标准程序,但为了让它发挥作用,我一直在为自己摔倒。:| 非常感谢一些帮助。谢谢。
我的视图控制器.h
#import <UIKit/UIKit.h>
#import "myUIView.h"
@protocol ModalViewDelegate
-(void)didReceiveMessage:(NSString *)message;
@end
@interface myViewController : UIViewController <ModalViewDelegate>
@property (nonatomic, strong) myUIView *myUIViewItem;
@end
我的视图控制器.m
#import "myViewController.h"
#import "myUIView.h"
@interface myViewController ()
@end
@implementation myViewController
@synthesize myUIViewItem;
- (void)didReceiveMessage:(NSString *)message { //<<< THIS IS WHAT
NSLog(@"Message from button: %@", message); //<<< NEEDS MOVING
}
- (void)viewDidLoad
{
…
myUIViewItem.delegate = self;
…
我的UIView.h
#import <UIKit/UIKit.h>
@protocol ModalViewDelegate;
@interface myUIView : UIView {
id<ModalViewDelegate> delegate;
}
@property (nonatomic, strong) id<ModalViewDelegate> delegate;
我的UIView.m
#import "myUIView.h"
#import "myViewController.h"
@implementation myUIView
@synthesize delegate;
...
[delegate didReceiveMessage:@"Data from UIView!"];