UIButton选择器未在ARC中调用

时间:2012-06-04 20:41:22

标签: objective-c uibutton automatic-ref-counting selector

我有两个班级,一个View和一个ViewController. View创建一个按钮,如下所示:

_button = [[UIButton alloc] initWithFrame:CGRectMake(50, 0, buttonImage.size.width, buttonImage.size.height)];
[_button setImage:buttonImage forState:UIControlStateNormal];
[_button setImage:[UIImage imageNamed:@"btn_learn_focus_pad"] forState:UIControlEventTouchUpInside];
[_button addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
[_someView addSubview:_button];

ViewController中,在loadView中实例化视图后,我添加了一个选择器,如下所示:

[view.button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

未调用选择器。我在NSLog按钮的位置尝试ViewController并打印出零。我怀疑ARC正在释放按钮。但是,_button是一个strong指针(@property)。所以我不确定为什么会这样。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您没有使用属性合成生成的正确的getter / setter方法。如果您只是将第一行更改为:

self.button = [[UIButton alloc] initWithFrame:CGRectMake(50, 0, buttonImage.size.width, buttonImage.size.height)];

它将正确保留指针