在Objective C中使用和访问全局/外部变量

时间:2013-08-31 01:39:12

标签: objective-c global-variables

我知道这个问题被问了十亿次,但我的具体问题还没有得到解答。抱歉重复性。

所以我知道如何声明和定义外部变量(如果我错了,请纠正我):

在foo.h文件中:

extern NSString *foo;

在foo.m文件中:

NSString *foo = @"fooey";

但后来说我想访问/更改hoo.m文件中的变量。我该怎么做?

1 个答案:

答案 0 :(得分:1)

在.h

 @interface SOViewController : UIViewController{
    NSString * variable;
 }
<。>在.m中你可以在任何地方设置它。

例如,viewDidLoad。

您也可以通过声明

在.m文件中声明这一点
@interface SOViewController(){
    NSString * variable;
}
  // @property (strong, nonatomic) NSString * myString; might be appropriate here instead
@end

在@implementation之前。

理想情况下,由于这是面向对象的编程,最佳做法是将字符串作为类的属性。

如果你真的在extern关键字上设置了这里有关于如何使用它的stackoverflow帖子Objective C - How to use extern variables?

修改

问题归结为如何传递变量。您可以查看本文How to pass prepareForSegue: an object以查看如何使用seguing执行此操作的示例。