objective-c - Xcode : Accessing method instance from other class file

标签 objective-c xcode methods

我已经通过以下方式成功地设置了对另一种方法的访问:

SomeScript.m(我试图访问的类)

-(void)amethod{....

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

SomeScript* myScript;

代码A.m

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

但是,我想要做的是将其作为应用程序委托(delegate)的实例变量,但是当我将 SomeScript* myScript;和 myScript = [[SomeScript alloc] init];在 AppDelegate.h 中,codeA.m 无法识别它。

最佳答案

首先,向 AppDelegate 添加属性 myScript:

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

关于objective-c - Xcode : Accessing method instance from other class file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9434432/

相关文章:

ios - 如何使用标识符将 NSLayoutConstraint 访问到 tableviewcell 中?

swift - 删除 UITableViewCell 上不需要的左缩进

java - 使用 Java 中的静态方法向调用者返回有效值

iphone - 链接使用 SDK 3.0 创建的静态库时,使用 Base SDK 3.0 构建 iPhone SDK 2.x 目标

c++ - 是否有围绕类添加方法的最薄包装器之类的东西?

ios - 如何从另一个对象访问我的 Application Delegate 的窗口访问器方法?

ios - 应用程序崩溃,但没有设备日志

objective-c - 以编程方式创建 UITextField 时关闭键盘

ios - 委托(delegate)似乎没有从 RBQFetchedResultController 触发

xcode - 当我在 Xcode 4 中为 "Build for archive"时,文件去哪里了?