在iphone编程中传递值

在iphone编程中传递值,iphone,Iphone,这是我正在使用的孔代码,我想在page2类中传输scrollViewCintroller类值 scrollAppDelegate.h @class scrollViewController; @interface scrollAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; scrollViewController *viewController; } @property (nonatomic, re

这是我正在使用的孔代码,我想在page2类中传输scrollViewCintroller类值

scrollAppDelegate.h

@class scrollViewController;
@interface scrollAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
scrollViewController *viewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet scrollViewController *viewController;
@end
scrollViewController.h

#import <UIKit/UIKit.h>
#import "result.h"
#import "page2.h"
@interface scrollViewController : UIViewController{
    IBOutlet UITextField        *txtName; 

}
@property (nonatomic, retain) UITextField        *txtName;
- (IBAction)  next           :(id)sender;
我想在其他page2类中使用此txtName 第2.h页


我建议创建一个类来封装您希望在两个控制器之间共享的所有值

使此类成为两个ViewController的属性

然后您可以创建page2-从page1设置page2的属性-加载page2

两种简单的方法-

  • 将这些值设置为属性。在Class2中创建Class1的对象,并访问这些值
  • 使用
    NSUserDefaults
    ,这是在iPhone应用程序中共享信息和保存值的非常简单的方法。检查,和一些教程 编辑:

    如果属性值为NULL,我建议将这些值存储在AppDelegate实例中,然后在Class2中创建AppDelegate的实例,一切都会好起来的

    page1 *obj=[page1 alloc]init];
    
    这将创建一个新的page1对象。您以前分配的变量都不可用。您的page2对象需要有一个指向您以前使用过的实际page1对象的指针,它应该在创建page2时传入,或者从导航控制器或类似设备获得,如果不知道应用程序的结构,就无法说更多

    编辑

    好的,在您的附加代码之后,我建议如下:

    在page2对象上创建一个属性,该属性将引用回Page1。让我们称之为第1页

    在您的页面2.h中:

    @property (nonatomic, assign) scrollViewController *page1;
    
    第2.m页:

    @synthesize page1;
    
    按下按钮创建page2对象时,请在此处传递文本:

     objPage2.page1 = self;
    
    这一行位于alloc和将其添加到子视图之间


    您还需要将
    #导入“page2.h”
    从scrollViewController.h移动到scrollViewController.m,并将
    @class scrollViewController在您的page2.h中,以及导入“scrollViewController.h”
    在您的page2.m中,您何时以及如何显示page2?我正在使用scrollViewController中的一个按钮,在该按钮上单击我们将转到page2。嗨,我再次更改了我的代码(带有page2的按钮选项)。它正在工作,但我想在page2类中创建scrollViewController类的对象,并访问scrollViewController的变量。在这种情况下,创建scrollViewController类型的属性,并传入
    self
    而不是传入字符串。我正在尝试执行此操作,但遇到了问题,您能否提供一些代码(plz)
    page1 *obj=[page1 alloc]init];
    
    @property (nonatomic, assign) scrollViewController *page1;
    
    @synthesize page1;
    
     objPage2.page1 = self;