我是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中更改哪些方法才能实现上述目标。
基本上我会在我的主屏幕中有3个按钮,每个按钮都会打开其他视图但每次都会传递不同的参数。
每个按钮的例子我在MainScreen.m中有这样的代码
@synthesize fl;
-(IBAction) ifl:(id) sender {
}
所以我需要你在哪里放置“缺失”代码的帮助。
答案 0 :(得分:2)
为UIViewController(Android的Activity)声明一个iVar,就像Java中的属性一样。
在MainViewController.m中
OtherUIViewController * contr = [[OtherUIViewController alloc] initWithNibname...];
contr.data = yourData;
已编辑:已添加完整代码...
Intent i = new Intent(MainScreen.this,OtherScreen.class); Bundle b = new Bundle(); b.putString( “_1”,数据);
这里的MainScreen是调用代码,现在在iOS中它将是MainUIViewcontroller
OtherUIViewController.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个不同的事情。
我希望它有所帮助