在 UIViewController 中调用方法来定位错误
Posted
技术标签:
【中文标题】在 UIViewController 中调用方法来定位错误【英文标题】:Call method in UIViewController to target error 【发布时间】:2015-06-29 07:38:34 【问题描述】:在我的MainMainViewController
中,我创建了新的 UIView (ContentView
)。我设置了
DetailViewController *detailView =
[[DetailViewController alloc] initWithObject:paAnnotation];
detailView.view.frame = CGRectMake(0,
0,
[self getWidthOfScreen],
[self getWidthOfScreen]);
[contentView addSubview:detailView.view];
它工作正常,但在我的DetailViewController
中,我创建了 UIButton 并设置了目标操作。但是当我点击按钮时它崩溃并显示错误。你能告诉我问题出在哪里吗?
- (id)initWithObject:paAnnotation
if ((self = [super init]))
self.annotation = paAnnotation;
return self;
- (void)viewDidAppear:(BOOL)animated
UIButton *closeButton = [[UIButton alloc] initWithFrame:CGRectMake(50, 50, 50, 50)];
closeButton.backgroundColor = [UIColor redColor];
[closeButton addTarget:self
action:@selector(closeContent)
forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:closeButton];
- (void)closeContent
NSLog(@"Test");
错误:
-[GEOVectorTile closeContent]: unrecognized selector sent to instance 0x19d0a1e0
【问题讨论】:
你试过在viewDidLoad
里面设置按钮吗?
是的,我试过了,但没有出现同样的错误。
【参考方案1】:
在您的 MainMainViewController 中,尝试在初始化时保留您的 detailView。或者在 MainMainViewController 中创建 detailView 作为保留属性,然后使用它。
【讨论】:
我尝试设置@property (nonatomic, retain) UIView *contentView;
,但现在点击后显示错误EXC_BAD_ACCESS
尝试使用@property(非原子,保留)DetailViewController *detailView以上是关于在 UIViewController 中调用方法来定位错误的主要内容,如果未能解决你的问题,请参考以下文章
在 init 方法完成之前调用 UIViewController viewDidLoad
<UIViewController> 开始/结束外观转换的不平衡调用