如何从另一个.m文件中调用此-(void){}
(函数,方法?抱歉,我忘记了术语)?
我还希望能够在本地.m文件中调用它,例如[self closeMenu];
这是-(void){}
:
-(void)closeMenu{
//close the menu
[UIView animateWithDuration:0.6 animations:^{
[UIView setAnimationBeginsFromCurrentState:YES]; // so it doesn't cut randomly, begins from where it is
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[menuView setFrame:CGRectMake(menuView.frame.origin.x, -menuView.frame.size.height, menuView.frame.size.width, menuView.frame.size.height)];
}];
}
答案 0 :(得分:3)
您必须在具有接口的.h文件中声明该方法。
在YourClass.h中
@interface YourClass:NSObject
- (void)closeMenu;
@end
在YourClass.m中
@implementation YourClass
- (void)closeMenu
{
//Close the menu
}
@end
然后你必须在另一个你要调用此方法的文件中导入(#import "YourClass.h"
)。
#import "YourClass.h"
@implementation OtherClass
- (void)otherMethod
{
YourClass *foo = [[YourClass alloc] init];
[foo closeMenu];
}
@end
答案 1 :(得分:-1)
似乎你在谈论某种控制器方法来折叠某种类型的menuView,看起来这是一个全局的menuView,你想与你的应用程序的其余部分共享。
每当我有“共享”小部件时,我都会为他们使用经理。
你能描述一下你所谈论的那种架构吗?
因为我想到的最脏的“Apple示例代码”方法是在App代表中以及在应用程序的任何位置保留对此宝贝的引用,您可以这样做:
MyDelegate * delegate= (MyDelegate)[UIApplication sharedApplication] delegate];
[delegate.myCoolMenuController closeMenu];
希望这适用于你。
干杯