Iphone 如何在Objective中将变量声明为extern,以便我可以在任何视图控制器中访问它

Iphone 如何在Objective中将变量声明为extern,以便我可以在任何视图控制器中访问它,iphone,xcode,extern,Iphone,Xcode,Extern,我想在所有视图控制器中访问相同的变量。…extern是一个C关键字,在Objective-C中的作用与在straight C中的作用相同。在头文件中,声明变量: extern NSString *myGlobal; 然后在.m文件中设置它 然而,这通常是一种糟糕的编码实践;通常,最好显式地将某种状态对象或数据源交给视图控制器 将数据存储在AppDelegate实例或其他单例中,而不是为变量添加外部变量。然后您可以从任何地方访问并修改它。虽然我承认我仍然经常使用AppDelegate解决方案,但

我想在所有视图控制器中访问相同的变量。…

extern是一个C关键字,在Objective-C中的作用与在straight C中的作用相同。在头文件中,声明变量:

extern NSString *myGlobal;
然后在.m文件中设置它


然而,这通常是一种糟糕的编码实践;通常,最好显式地将某种状态对象或数据源交给视图控制器

将数据存储在AppDelegate实例或其他单例中,而不是为变量添加外部变量。然后您可以从任何地方访问并修改它。

虽然我承认我仍然经常使用AppDelegate解决方案,但我相信singleton设计模式是一个更好的解决方案

但是我无法在其他视图中再访问此变量。您是否导入了在每个视图文件中声明变量的标题?@lakiniphone我想您几个月前收到了一条评论。