问题描述
我有一个名为sendDataToMotor的函数.它在我的First View Controller类中.我有另一个名为SecondViewController的视图控制器.我需要从Second View Controller.m类中调用此函数.我尝试声明该属性:
I have a function called sendDataToMotor. It is in my First View Controller classes. I have another view controller called SecondViewController. I need to call this function from the Second View Controller.m class. I tried declaring the property:
@property(nonatomic,assign)UIViewController* firstController;
在我的SecondViewController.h类中.此外,我在SecondViewController.m类的viewDidLoad部分中编写了下面的代码(我希望在其中调用该函数).
in my SecondViewController.h class. Furthermore, I wrote the code bellow in the viewDidLoad part of my SecondViewController.m class (where I want the function to be called).
secondViewController = [[SecondViewController alloc] initWithNibName:@"secondViewController" bundle:nil];
secondViewController.firstController = self;
[self.firstController performSelector:@selector(sendDataToMotor)];
但是,由于未声明的标识符问题,我在该代码中的第一个单词(secondViewController)出现错误.此外,由于secondViewController具有未知的名称类型,因此第二行出现了错误(secondViewController.firstController = self).
But, Im getting an error with the first word in that code (secondViewController) because of an undeclared identifier issue. Furthermore, I get an error with the second line (secondViewController.firstController = self) because secondViewController has an unknown name type.
总而言之,我不在乎您是否使用上面的代码来回答我的问题:那只是我尝试实现的在线发现的东西.但是,我正在寻找从另一个View Controller调用函数的最简单方法.
In summary, I don't care if you use the above code to answer my question: that was just something I tried to implement that I found online. However, I'm looking for the simplest way to call a function from another View Controller.
推荐答案
通知中心可以解决您的问题.
Notification Center could be solution to you question.
接收器UIViewController
Receiver UIViewController
- (void)viewDidLoad {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(receiveNotification:)
name:@"myNotification"
object:nil];
}
- (void)receiveNotification:(NSNotification *)notification
{
if ([[notification name] isEqualToString:@"myNotification"]) {
//doSomething here.
}
}
发件人UIViewController
Sender UIViewController
- (void)sendNotification {
[[NSNotificationCenter defaultCenter] postNotificationName:@"myNotification" object:self];
}
这篇关于iPhone-从另一个视图控制器调用功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!