#import <UIKit/UIKit.h>
@interface ViewController : UIViewController{
UIButton *btn1;
UIButton *btn2;
UILabel *label1;
}
-(void)testRespond1;
-(void)notTest;
@end
#import "ViewController.h"
@implementation ViewController
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data,images, etc that aren't in use.
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setupafter loading the view, typically from a nib.
btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn1.frame = CGRectMake(50, 100, 100, 50);
[btn1 setTitle:@"BTN1" forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(btn1Clicked:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn1];
btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn2.frame = CGRectMake(200, 100, 100, 50);
[btn2 setTitle:@"BTN2" forState:UIControlStateNormal];
[btn2 addTarget:self action:@selector(btn2Clicked:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn2];
}
-(void)btn1Clicked:(id)sender
{
if ([self respondsToSelector:@selector(testRespond1)])
{
[self testRespond1];
}
}
-(void)btn2Clicked:(id)sender
{
if (![self respondsToSelector:@selector(notTest)])
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"notTest 没有被实现" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
}
-(void)testRespond1
{
label1 = [[UILabel alloc] initWithFrame:CGRectMake(50, 200, 220, 200)];
label1.text = @"testRespond1 被实现了";
[self.view addSubview:label1];
[label1 release];
}
- (void)viewDidUnload
{
[super viewDidUnload];
//Release any retained subviews of the main view.
// e.g.self.myOutlet = nil;
}
-(void)dealloc
{
[super dealloc];
}
@end
运行结果