首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全局变量?

全局变量?
EN

Stack Overflow用户
提问于 2010-07-27 14:54:02
回答 4查看 2.1K关注 0票数 0

如何在x-code(iphone)中使用全局变量。例如,假设我想在视图控制器文件中声明一组变量(NSStrings),那么我如何在不同的类中访问它们呢?有人能帮我吗?

EN

回答 4

Stack Overflow用户

发布于 2010-07-27 15:15:49

全局变量是全局变量。您可以像在任何C程序中一样使用它们,也就是说,它们通常会在类似于"globals.h“的内容中声明,并在需要的地方导入。

话虽如此,依赖全局变量通常是一种糟糕的做法。您可能有一个"ApplicationController“对象,它本质上跟踪应用程序的全局状态,但它的变量应该是实例变量,并且只能在内部访问,或者通过getter/setter访问。

如果您想在单个对象中声明一组字符串以供许多其他对象引用,通常会将该对象设置为Singleton,并将对它的引用传递给每个需要访问它的对象。

然而,你需要问自己为什么你需要这样做,如果没有更好的方法。我敢打赌,你要做的事情没有充分的理由。

给我们更多有关这些字符串是全局字符串的最重要需求的详细信息,然后我们就可以向您展示它们不是全局字符串的原因。:)

票数 2
EN

Stack Overflow用户

发布于 2010-07-27 15:21:08

如果不是过度杀伤力,你可以使用singleton。另一个选择是NSDefaults。当然,最简单的方法是在.h中简单地定义一个外部元素

代码语言:javascript
复制
  extern NSString * const STR_1;

和.m中的值:

代码语言:javascript
复制
  NSString * const STR_1 = @"String One";
票数 0
EN

Stack Overflow用户

发布于 2010-07-27 19:42:34

只需在.h文件中声明变量,然后将此文件导入到您想要使用的任何类中。您可以使任何类型的对象或变量成为全局对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3341299

复制
相关文章

相似问题

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