【问题标题】:How to return values from view2 to view1 on UINavigationcontroll如何在 UINavigationcontroll 上将值从 view2 返回到 view1
【发布时间】:2011-05-24 16:54:11
【问题描述】:

我是 iPhone 开发的新手。使用导航栏时,如何将字符串值从 view2 传送到 view1。

我可以通过使用 pushviewcontroller 将字符串值从 view1 传输到 view2 到....但是当我使用导航栏的后退按钮返回到以前的视图时,我无法保存字符串值。

我已经看到与此“http://stackoverflow.com/questions/2903967/how-return-a-value-from-view2-to-view1-when-using-navigation-bar”相关的帖子,但事实并非如此为我工作,或者可能是我做错了。

我需要你的帮助来解决这个问题。

提前致谢,

Nagarajan Govindarajan。

【问题讨论】:

    标签: iphone uinavigationcontroller


    【解决方案1】:

    您可以使用委托。您还可以在 view1 中有一个属性, view2 可以访问该字符串并将其存储到其中。委托是更好的方法。

    查看 Apple 的示例,了解它们如何使用委托。你提到的问题是正确的,所以我认为你只需要充分理解它就可以调试你的实现。

    【讨论】:

      【解决方案2】:

      在您的项目应用程序委托类中声明并定义一个字符串(exp str1)。同时分配和初始化这个字符串。

      在您看来 2 类 inport Appdelegate 类。像这样声明它的对象:

      TestAppDelegate *appDeleg;
      

      在类 2 的 viewDidLoad 中定义:appDeleg = [[UIApplication sharedApplication] delegate];

      现在将 appDeleg.str1 = 您的字符串存储在 view2 中,您希望将其存储并在视图 1 中使用。

      在视图 1 中做同样的声明并在那里使用 strView1= appDeleg.str1;

      【讨论】:

      • 你是用我的方法解决了问题还是在做别的?
      【解决方案3】:

      我推荐的最佳方法是使用 Data 类。在 Data 类中声明变量并在整个过程中使用它们。这就是它的工作原理:

      //DataClass.h

      @interface DataClass : NSObject {    
      
      NSString *str;     
      
      }    
      @property(nonatomic,retain)NSString *str;    
      +(DataClass*)getInstance;    
      @end  
      

      //DataClass.m

      @implementation DataClass    
      @synthesize str;    
      static DataClass *instance =nil;    
      +(DataClass *)getInstance    
       {    
          @synchronized(self)    
          {    
              if(instance==nil)    
              {    
      
                   instance= [DataClass new];    
              }    
          }    
          return instance;    
      }    
      

      现在在您的视图控制器中,您需要将此方法称为:

      DataClass *obj=[DataClass getInstance];  
      obj.str= @"I am Global variable";  
      

      每个视图控制器都可以访问此变量。您只需要创建一个 Data 类的实例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多