1
一些帮助,将不胜感激。简单的代理方法不起作用
我有用于测试目的这个简单的项目:
http://dl.dropbox.com/u/10101053/testDelegate.zip
我想传递的NSString的委托方法,但与此代码不能正常工作。
testDelegateViewController.h
@protocol testDelegateViewControllerDelegate;
@interface testDelegateViewController : UIViewController {
id<testDelegateViewControllerDelegate> delegate;
IBOutlet UIButton *button;
}
@property (nonatomic, assign) id<testDelegateViewControllerDelegate> delegate;
@property (nonatomic, retain) IBOutlet UIButton *button;
- (void)pass;
@end
@protocol testDelegateViewControllerDelegate
- (void)passSomeToDelegate:(NSString *)some;
@end
testDelegateVewController.m
#import "testDelegateViewController.h"
@implementation testDelegateViewController
@synthesize delegate, button;
- (void)pass
{
NSLog(@"Button Pressed");
[self.delegate passSomeToDelegate:@"some"];
}
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
[super viewDidLoad];
[button addTarget:self action:@selector(pass) forControlEvents:UIControlEventTouchUpInside];
}
//rest of code
AppDelegate.h
#import "testDelegateViewController.h"
@interface AppDelegate : NSObject <UIApplicationDelegate, testDelegateViewControllerDelegate> {
}
AppDelegate.m
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize window=_window;
@synthesize viewController=_viewController;
#pragma mark Delegate Method
- (void)passSomeToDelegate:(NSString *)some
{
NSLog(@"%@", some);
}
//rest of code
但是在我的控制台中,点击按钮时没有打印任何内容。
谢谢
谢谢迪帕克。 – lostinbcn
这对像我这样的初学者很有帮助。 – beginners