gpt4 book ai didi

ios - 从一个类调用另一个类的函数

转载 作者:行者123 更新时间:2023-11-29 00:56:25 26 4
gpt4 key购买 nike

我有两个 View Controller :一个 ViewController 和另一个 TextViewController。我在 ViewController 中给出了函数的定义,并想在 TextViewController 中调用它,但我无法做到这一点。请帮我解决这个问题。

.h类中函数的声明

@interface ViewController : UIViewController

-(void)getVideo;

.m类中函数的定义

-(void)getVideo{
NSString *inputPath = [[NSBundle mainBundle]pathForResource:@"GalaxyTutorial" ofType:@"mp4"];
NSURL *inputURL = [[NSURL alloc]initFileURLWithPath:inputPath isDirectory:YES];
MPMoviePlayerViewController* moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL: inputURL];
[mpc.view setFrame: self.view.bounds];
[self.view addSubview:moviePlayer.view];
}

我在 TextViewController.m 中这样调用它

ViewController *dtl = [[ViewController alloc]init];
[dtl getVideo];

我们将不胜感激。

最佳答案

使用 NSNotificationCenter PostNotificationName 方法和示例如下,

首先在 viewDidLoad: 中创建添加观察者通知

ViewController.m类:

- (void)viewDidLoad {
[super viewDidLoad];
// put your code

[[NSNotificationCenter defaultCenter] removeObserver:self];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callService:) name:@"NotificationName" object:nil];

}

- (void)callService:(NSNotification *)noti {
[self getVideo];
}

然后在调用的函数中设置 postNotification 名称,格式如下,

第一类(调用类):

[[NSNotificationCenter defaultCenter] postNotificationName:@"NotificationName" object:nil];

不要忘记您的通知名称与在 PostNotificationName 和 addObserver 名称中输入的名称相同。

希望对你有帮助

关于ios - 从一个类调用另一个类的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37589346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com