Objective-C IPhone Xcode Global Variable with extern

Discussion in 'Mac Programming' started by springframework, Mar 31, 2008.

  1. springframework
    Expand Collapse
    macrumors member

    Mar 31, 2008
    so i made a header file Global.h

    extern int gVar;
    inside main.m

    int gVar;

    int main( ... ){
    gVar 5;
    // more code
    inside another .m file

    #include Global.h
    gVar 88;
    inside yet another .m file

    #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?
  2. Monkaaay
    Expand Collapse
    macrumors 6502


    Jun 19, 2006
    Richmond, VA
    There was a thread on this recently. I can't find it at the moment. Essentially, extern wasn't the way to do it.
  3. springframework
    Expand Collapse
    thread starter macrumors member

    Mar 31, 2008
    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.
  4. lee1210
    Expand Collapse
    macrumors 68040


    Jan 10, 2005
    Dallas, TX

    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.


Share This Page