我用目标C弄湿了脚。并且以为我会玩iphone开发。 我有一个Page Controller.h和.m
在我的实现文件中,我在viewDidLoad方法中抛出了一个UIButton。
- (void)viewDidLoad
{
[super viewDidLoad];
// content that loads in view
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(10, 160, 300, 44);
[myButton setTitle:@"Press Me!" forState:UIControlStateNormal];
myButton.titleLabel.font = [UIFont systemFontOfSize:14];
// add to a view
[self.view addSubview:myButton];
}
到目前为止它显得很好。这让我问起loadView与viewDidLoad之间的区别。
此外,我想在按下按钮时运行我自己的功能,但是我经常从xcode获得可执行错误。
以下是我在上面的代码中插入的内容:
- (void)viewDidLoad
{
[super viewDidLoad];
// content that loads in view
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(10, 160, 300, 44);
[myButton setTitle:@"Press Me!" forState:UIControlStateNormal];
myButton.titleLabel.font = [UIFont systemFontOfSize:14];
//added this
[myButton addTarget:self action:@selector(runClick) forControlEvents:UIControlEventTouchUpInside];
// add to a view
[self.view addSubview:myButton];
}
-(void)runClick{
NSLog(@"does this work?");
}
对任何人来说,有什么不合适的地方吗?
另外,在PageController.h中我添加了: - (void)runClick;
这是我遇到的错误:
2012-03-17 16:04:30.077 Blah [510:207] - [__ NSCFString runClick]:无法识别的选择器发送到实例0x6a0b4f0
答案 0 :(得分:1)
关于loadView和viewDidLoad之间的区别:
关于错误,您能提供更多信息吗?你在调试吗?崩溃的线是什么?
答案 1 :(得分:1)
您是否在.h文件中声明了-(void)runClick
? (显而易见的问题)。
此外,如果您想要访问控件的属性(例如,如果它是滑块等),您需要添加发件人位:
-(void)runClick (id)sender
答案 2 :(得分:0)
我相信你需要在runClick之后添加一个冒号,如下所示:
action:@selector(runClick:)