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

问题描述:

我已经成功地合理设置访问另一个方法以下列方式:Xcode中:从其他类文件访问方法实例

SomeScript.m(我试图访问类)

-(void)amethod{.... 

codeA.h内(即在访问的amethod方法类)的{}具有:

SomeScript* myScript; 

codeA.m

myScript = [[SomeScript alloc] init]; 
[myScript amethod]; 

我想不过做的是让它的应用程序委托的实例变量,但是当我把SomeScript * myScript的;和myScript = [[SomeScript alloc] init];在AppDelegate.h中,codeA.m不能识别它。

+0

你想创建''AppDelegate'的SomeScript'的实例和访问它在'codeA'?另外,您是否可以访问'codeA'中的'AppDelegate'? – sch 2012-02-24 16:44:25

+0

你想要做什么?你想在应用程序委托中创建SomeScript的实例变量吗? – 2012-02-24 16:39:06

+0

是的,我想创建脚本的一个实例,所以我可以从其它类整个计划访问方法“amethod方法”。我不知道你所说的有机会获得从CODEa所的“AppDelegate中”(对不起,我很新的这一点,但学得很快),它可以有从刚刚导入.h文件到CODEa所访问是什么意思? – 2012-02-26 16:12:25

首先,添加属性myScriptAppDelegate

在AppDelegate.h

@interface AppDelegate : UIResponder <UIApplicationDelegate> 

@property (strong, nonatomic) SomeScript *myScript; // Add this line 

//... 

@end 

在AppDelegate.m

@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]; 
+0

感谢您的回复 - 我已经尝试了两种方法。第一个选项给“上键入‘* CODEa所’的对象没有找到属性的appDelegate”的错误,第二个方法给出“对类型的AppDelegate的对象没有找到物业的MyScript *”这是否给出任何东西,我不是这样做对吗? – 2012-02-26 16:17:10

+0

@ lukedom89 - 查看我编辑的答案。我解释了如何将该属性添加到应用程序委托。 – sch 2012-02-26 16:32:10

+0

谢谢!作品一种享受。 – 2012-02-26 17:25:22