我有两个班级,一个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
)。所以我不确定为什么会这样。
我该如何解决这个问题?
答案 0 :(得分:0)
您没有使用属性合成生成的正确的getter / setter方法。如果您只是将第一行更改为:
self.button = [[UIButton alloc] initWithFrame:CGRectMake(50, 0, buttonImage.size.width, buttonImage.size.height)];
它将正确保留指针