如何将String值传递给我的应用程序中的所有ViewController

时间:2014-09-03 11:26:33

标签: ios objective-c iphone session global-variables

我有两个textFields.One是用户名,第二个是密码。当我提交两个值传递给Json。如果您在Database.I中有用户名和密码,我会得到响应用户名。 但现在我需要将userName传递给我的应用程序中的所有ViewControllers请帮助我 感谢Advanced.Please给我任何想法。

2 个答案:

答案 0 :(得分:4)

您可以在AppDelegate文件中创建变量。

IN AppDelegate.h文件

@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
    NSString *username;
}
@property(nonatomic,retain)NSString *username;

IN AppDelegate.m文件

@implementation AppDelegate
@synthesize username;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    //your other code.....
    self.username=@"";
}

创建AppDelegate对象并将其值设置为将值提交到json

AppDelegate *delegate=(AppDelegate *)[UIApplication sharedApplication].delegate;
delegate.username = @"ABC";

在所有viewcontroller中创建AppDelegate对象并访问用户名变量

AppDelegate *delegate=(AppDelegate *)[UIApplication sharedApplication].delegate;
nslog(@"%@",delegate.username);

答案 1 :(得分:1)

firstviewcontroller ...

 [[NSUserDefaults standardUserDefaults]setObject:your texfield.txt forKey:@"username"];
 [[NSUserDefaults standardUserDefaults] synchronize];


and access anywhere you want like this

    NSString *username=[[NSUserDefaults standardUserDefaults] objectForKey:@"username"];
    NSLog(@"%@",username);

它将显示在文本字段中输入的内容

最后你需要从NSUserDefaults

中删除该值
 [[NSUserDefaults standardUserDefaults] removeobjectForKey:@"username"];