Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

springframework

macrumors member
Original poster
Mar 31, 2008
59
0
so i made a header file Global.h

PHP:
extern int gVar;

inside main.m

PHP:
int gVar;

int main( ... ){
gVar = 5;
... // more code
}

inside another .m file

PHP:
#include Global.h
gVar = 88;

inside yet another .m file

PHP:
#include Global.h
NSLog( ... , gVar); // expected output 88


This wont compile ....

By simply taking out "extern", it works with expected output of 88.

My variable seems to be global without using extern?



Is my variable truely global? it has to be ... it prints out 88.


Does anyone know a better way to do global variables?

I plan on having NSMutableArray/NSXMLDocument global variables. will the way im doing it work with these more advanced data structures?
 

springframework

macrumors member
Original poster
Mar 31, 2008
59
0
can you post the link the the thread if you find it, i searched the forum but all posts used extern.

Also i just tried a NSMutableAray in the global.h and it worked as expected.
 

lee1210

macrumors 68040
Jan 10, 2005
3,182
3
Dallas, TX
can you post the link the the thread if you find it, i searched the forum but all posts used extern.

Also i just tried a NSMutableAray in the global.h and it worked as expected.

https://forums.macrumors.com/threads/459249/

I suggested using functions to access and modify a global variable declared in a single file, and those functions can be used to get at this variable. This way if you need to change the variable name or something like that, it's a single file to be changed.

-Lee
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.