メソッドが呼び出されないのはなぜですか?
UIViewController は、myMethod という UIView のメソッドを呼び出す必要があります。
初期の UIView viewDidLoad でのみ機能します。
ビューがロードされた後、someOtherMethod から「myMethod」を呼び出すことができません。そして、私はその理由を理解していませんか?XCode はメソッドが存在することを認識し、メソッドがヘッダーに公開されています。
MyViewController.h
#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");
}