Objective c Xcode:从其他类文件访问方法实例
我已通过以下方式成功设置了对其他方法的访问: SomeScript.m(我试图访问的类) {}中的codeA.h(正在访问amethod的类)具有:Objective c Xcode:从其他类文件访问方法实例,objective-c,xcode,methods,Objective C,Xcode,Methods,我已通过以下方式成功设置了对其他方法的访问: SomeScript.m(我试图访问的类) {}中的codeA.h(正在访问amethod的类)具有: SomeScript* myScript; 代码 myScript = [[SomeScript alloc] init]; [myScript amethod]; 然而,我想做的是将其作为app委托的实例变量,但当我将SomeScript*myScript;myScript=[[SomeScript alloc]init];在AppDeleg
SomeScript* myScript;
代码
myScript = [[SomeScript alloc] init];
[myScript amethod];
然而,我想做的是将其作为app委托的实例变量,但当我将SomeScript*myScript;myScript=[[SomeScript alloc]init];在AppDelegate.h中,代码a.m无法识别它。首先,将属性
myScript
添加到AppDelegate
:
在AppDelegate.h中
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) SomeScript *myScript; // Add this line
//...
@end
现在,您已经声明并初始化了属性,可以像从其他类中使用它一样使用它:
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
[appDelegate.myScript aMethod];
你到底想做什么?是否要在应用程序委派中创建SomeScript的实例变量?是否要在
AppDelegate
中创建SomeScript
的实例,并在codeA
中访问它?另外,您是否有权访问codeA
中的AppDelegate
?是的,我想创建一个脚本实例,以便可以从程序中的任何其他类访问方法“amethod”。我不确定您从codeA访问“AppDelegate”是什么意思(很抱歉,我对这个很陌生,但学习速度很快),它可以从将.h文件导入codeA访问吗?谢谢您的回答-我已经尝试了这两种方法。第一个选项给出错误“property appDelegate not found on object of type“codeA*”,第二个方法给出“property myscript not found on object of type appDelegate*”,这是否表明我做得不对?@lukedom89-请参阅我编辑过的答案。我解释了如何将属性添加到应用程序委托。@我知道这个问题是很久以前提出的,但我与dominic处于相同的位置,我从[appDelegare.myScript-aMethod]得到的错误是“在AppDelegate类型的对象上找不到属性myScript”“.对于我的,我用我自己的代码做了你所做的每一步,它仍然说有一个错误。还有想法?我能看到的唯一区别是我将代码放在viewDidLoad
中,而不是-(bool)应用程序…
。
@implementation PCAppDelegate
@synthesize myScript; // Add this line
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.myScript = [[SomeScript alloc] init]; // Add this line
//...
@end
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
[appDelegate.myScript aMethod];