0

我有标签,我正在其中加载 viewDidLoad 中的文本值,并且我正在更改按钮单击时的值我希望单击按钮时更改的值在标签中保持不变,直到我们再次单击标签但是当我移动到下一个屏幕时然后又回到原来的状态,它显示值是在 viewDidLoad 中设置的,而不是更改后的值。

   -(void)viewDidLoad{

    testLabel.text=@"This is fine";


   }

  -(void)changeData{

    testLabel.text=@"changed data";

   }     



    -(IBAction)riskButtonAction{

   RiskViewController*targetContrlloer=[[RiskViewController alloc] init];
   [self.navigationController pushViewController:targetContrlloer animated:YES];

   }
4

3 回答 3

2

不要创建新对象使用此代码转到上一个屏幕

[self.navigationController popViewControllerAnimated: YES];
于 2013-01-04T06:18:10.397 回答
2

试试下面的代码

 -(void)viewWillAppear:(BOOL)animated
    {
       NSString *checkFb=[[NSUserDefaults standardUserDefaults] valueForKey:@"someKey"];
       if(checkFb.lenght > 0)
       { 

        testLabel.text=checkFb;
        }

    }


   -(void)changeData{

      testLabel.text=@"changed data";
    [[NSUserDefaults standardUserDefaults] setObject: testLabel.text forKey:@"someKey"];
    [[NSUserDefaults standardUserDefaults] synchronize];


   }    

让我知道它是否有效!

于 2013-01-04T06:19:32.630 回答
0

只需使用全局变量在 App Delegate 中声明它并将您的标签值分配给这个全局变量,您的问题将得到解决。

不过,如果你不明白,请随时问我,它是如此简单的伙伴

于 2013-01-04T08:51:52.937 回答