从函数的视图控制器中提取数据

时间:2013-01-13 04:27:14

标签: ios objective-c

传递数据并不是诀窍...我需要在调用AppDelegate中的函数时从视图控制器中提取字符串数据。这是代码:

在App代表中:

- (void)applicationDidEnterBackground:(UIApplication *)application
{

AMViewController *viewController = [[AMViewController alloc] initWithNibName:@"AMViewController" bundle:nil];
self.xpData = viewController.xpLabel.text;
NSLog(@"Value of xpString in AD: %@", self.xpData);

}

在我的ViewController中,我没有使用动作来传递/检索字符串。当用户点击主页按钮时,我基本上从ViewController中拉出它。我之所以这样做,是因为我想在退出时保存我的数据。谢谢!

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

AppDelegate.h

@property (atomic, copy) NSString *yourString;

您已更改xpLabel.text的位置,请执行此操作

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.yourString = xpLabel.text;

现在在

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    NSLog(@"Value of xpString in AD: %@", self.yourString);
}

另一种方法

AMViewController类中设置您的值

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:xpLabel.text forKey:@"yourkey"];
[prefs synchronize];

applicationDidEnterBackground中获取您的价值

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
yourString = [prefs stringForKey:@"yourkey"];