I'm having significant trouble accessing variables from inside a new thread. I have config data I need to access. It is stored as a "static NSString *myString" at the top of my .m file outside of any function. The value of myString is set in applicationDidFinishLaunching. My thread can't read myString, nor can it get to myString via a class getter function that returns myString. If I try to NSLog what I have from inside my executing thread, myString reports as "CALayer: 0x451f50" Clearly, I'm missing some aspect of NSThread programming. Does it run in some protected memory space or something and not have access to the "outside world"? Many thanks.