Uiview 为什么我的方法没有被调用?
为什么我的方法没有被调用 我的UIViewController应该在我的UIView中调用名为myMethod的方法 它仅适用于初始UIView viewDidLoad 加载视图后,我无法从其他方法调用“myMethod”。我不明白为什么?XCode识别出该方法存在,并且该方法在我的头中公开 MyViewController.hUiview 为什么我的方法没有被调用?,uiview,methods,uiviewcontroller,Uiview,Methods,Uiviewcontroller,为什么我的方法没有被调用 我的UIViewController应该在我的UIView中调用名为myMethod的方法 它仅适用于初始UIView viewDidLoad 加载视图后,我无法从其他方法调用“myMethod”。我不明白为什么?XCode识别出该方法存在,并且该方法在我的头中公开 MyViewController.h #import “MyView.h” @interface MyViewController : UIViewController { MyView *mv;
#import “MyView.h”
@interface MyViewController : UIViewController {
MyView *mv;
}
MyViewContoller.m
#import “MyView.h”
- (void)viewDidLoad
{
mv = [[MyView alloc] initWithFrame:self.view.frame];
[self.view addSubview:mv];
//THIS WORKS IF CALLED FROM viewDidLoad
[mv myMethod];
}
- (void) someOtherMethod {
//THIS DOESN’T WORK IF CALLED LATER
[mv myMethod];
}
MyView.h
- (void) myMethod;
MyView.m
- (void) myMethod {
NSLog(@"My Method");
}
我唯一的猜测是,
someOtherMethod
实际上没有被调用。其他一切看起来都很好。尝试放置一个NSLog(@“someothermethodcalled!”)代码>也在那里,以查看是否调用过该方法。是的,我也这么认为,并且我调用了NSLog(@“someothermethodcalled”);它调用了它,但实际上从未激发。你的意思是NSLog确实显示在日志中,或者“它从未激发”,因此你从未看到NSLog?NSLog显示在日志中,但从未调用myMethod。如果从viewDidLoad调用myMethod,则NSLog(@“My Method”);出现了。只有在加载视图后才不会调用它。