What I would do is forget about the variable, but in these other classes refer to txtUsername.txt, otherwise you're making a copy of the text which you're trying to keep updated hoping that you haven't missed anything.
So in your .h file, you put
{
UITextField *txtUsername;
}
as I assume you already have.
Then:
@property (nonatomic, retain) UITextField *txtUsername;
And then in your .m file, put at the top, under the @implementation line:
@synthesize txtUsername;
Then in the .m file that you want to reference it in, go to it's .h file and put:
#import "Login.h"
at the top, with the other import lines. Then put:
{
Login *login;
}
This creates a variable called login. You can then wire this up to your xib if you're using one, or init it in code if you're not. Then, when you want the text, you simply put:
login.txtUsername.text;