首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Objective C中声明项目范围的变量

在Objective C中声明项目范围的变量
EN

Stack Overflow用户
提问于 2013-06-05 07:43:53
回答 3查看 672关注 0票数 1

我想知道是否有一种方法可以像使用UINavigationController启动应用程序时那样声明项目范围的变量,并且可以从应用程序中的任何地方调用导航控制器,因为它是如何在应用程序委托中声明的。

我想创建一个项目(全局)变量,它允许我在应用程序中的任何地方调用SVProgress hud或取消它。我遇到这个问题,我将UIViewController加载到导航堆栈,启动SVProgress hud,然后向我的数据库发出请求。如果我得到一个错误,我需要处理一些事情,其中之一是能够批评SVProgress平显。

这是我到目前为止所拥有的代码

AppDelegate.h

代码语言:javascript
运行
复制
#import "SVProgressHUD.h"

@interface MYAPPAppDelegate : UIResponder <UIApplicationDelegate> {
//..
}

@property (strong, nonatomic) SVProgressHUD *svprogressHud;

AppDelegate.m

代码语言:javascript
运行
复制
@synthesize svprogressHud;

我真的不确定这是否可能,希望外面的人能帮助我。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-05 07:46:41

您可以从视图控制器中执行的一件事是获取应用程序委托,并将其强制转换为委托的类型,如下所示:

代码语言:javascript
运行
复制
#import "MYAPPDelegate.h"
MYAPPDelegate *ad = (MYAPPDelegate *)[[UIApplication sharedApplication] delegate];
[ad.svprogressHud displayOrWhatever];

不是最干净的,但应该能完成工作。

票数 2
EN

Stack Overflow用户

发布于 2013-06-05 10:31:05

只需将头文件名添加到#ifdef __OBJC__内的预编译头文件(<projectname>_Prefix.pch)中

如下所示:

代码语言:javascript
运行
复制
#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import "SVProgressHUD.h"
#endif

然后,它将允许您访问所有文件中的文件.....

票数 2
EN

Stack Overflow用户

发布于 2013-06-05 09:06:50

只是扩展Roberts的答案,为了避免重复代码来获取应用程序委托,然后将其强制转换为MYAPPDelegate,我将在您的项目中使用实用程序函数创建一个头文件/类。

创建名为AppUtils.h的新标头

代码语言:javascript
运行
复制
#import "MYAPPAppDelegate.h"
#ifndef AppName_AppUtils_h
#define AppName_AppUtils_h

static inline MYAPPAppDelegate* AppDelegate() {
    return (MYAPPDelegate *)[[UIApplication sharedApplication] delegate];
}

#endif

在需要访问这些变量的地方,导入头AppUtils.h并使用helper函数。示例:

代码语言:javascript
运行
复制
#import "AppUtils.h"

...

- (void)foo {
    // use app delegate
    UIViewController *rootVC = AppDelegate().rootViewController;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16929258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档