Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Xcode:从其他类文件访问方法实例_Objective C_Xcode_Methods - Fatal编程技术网

Objective c Xcode:从其他类文件访问方法实例

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.m(我试图访问的类)

{}中的codeA.h(正在访问amethod的类)具有:

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];