1

我是IOS编程的新手。到目前为止,我一直在用 android 编程。所以在android中,当按下按钮传递参数时,代码会是这样的:

Intent i = new Intent(MainScreen.this,OtherScreen.class);
Bundle b = new Bundle();
b.putString("data_1",data);
i.putExtras(b);
startActivity(i);

在打开的活动中,我会写这样的东西:

Bundle b = getIntent().getExtras();
ski_center=b.getString("data_1");

我应该在 IOS 的 MainScreen 和 OtherScreen 中更改哪些方法才能实现上述目的。

基本上我将在我的 MainScreen 中有 3 个按钮,每个按钮都会打开 Otherview,但每次都会传递不同的参数。

每个按钮的敌人示例我在 MainScreen.m 中有这样的代码

@synthesize fl;
-(IBAction) ifl:(id) sender {
}

所以我也需要你的帮助来放置“丢失”的代码。

4

1 回答 1

2

为您的 UIViewController(Android 的 Activity)声明一个 iVar,就像 Java 中的一个属性一样。

在 MainViewController.m

OtherUIViewController * contr = [[OtherUIViewController alloc] initWithNibname...];
contr.data = yourData;

编辑:添加完整代码...

Intent i = new Intent(MainScreen.this,OtherScreen.class); 捆绑 b = 新捆绑();b.putString("data_1",data);

这里 MainScreen 是调用代码,现在在 iOS 中它将是 MainUIViewcontroller

  • 像这样创建一个 OtherUIViewController:

其他UIViewController.h

@interface OtherUIViewController : UIViewController
{
       NSData* data;
}
@property (strong, nonatomic) NSData* data;

在 OtherUIViewController.m

@implementation OtherUIViewController.m
@synthetize data;

// override
- (void)viewDidLoad
{
    [super viewDidLoad];
// do something with data here
}

要具有 3 种不同的行为,数据可以是 int 或 NSString。在其中, - (void)viewDidLoad您将检查data值并做 3 件不同的事情。

我希望它有帮助

于 2012-09-03T20:27:54.060 回答