【发布时间】:2011-10-01 03:26:36
【问题描述】:
我正在创建一个代码,我想在其中将一个 uiview 的整数值传递给另一个视图。在另一个 uiview 中,该整数值作为标签文本。如何为此编写代码?
【问题讨论】:
我正在创建一个代码,我想在其中将一个 uiview 的整数值传递给另一个视图。在另一个 uiview 中,该整数值作为标签文本。如何为此编写代码?
【问题讨论】:
把这个放在 SecondViewController 的 .h 文件中
int value;
在 SecondViewController 中创建以下函数
-(void)setValue:(int)number{
value=number;
}
现在在第一个视图控制器中这样做:
ParentViewController *objSecond = [[ParentViewController] initwithNibName:@"parentView.xib" bundle:nil];
[objSecond setValue:15]; // Pass actual Value here
[self.navigationController pushViewController:objSecond animated:YES];
[objSecond release];
现在,在 secondViewController 的 viewWillAppear 方法中写下这个。
-(void)viewWillAppear:(BOOL)animated{
myValue = value;
}
请检查我手写的拼写错误。希望对您有所帮助。
如果你没有使用 navigationContoller,那么你可以这样做。
SecondViewControler *objSecond = [[SecondViewController] initwithNibName:@"secondview.xib" bundle:nil];
[objSecond setValue:15]; // Pass actual Value here
[objSecond viewWillAppear:YES];
[self.view addSubview:objSecond];
[objSecond release];
【讨论】:
您可以将它作为整数值本身传递,就像您在 c 或任何其他语言中所做的那样。 在第二个视图中,您可以使用 [NSString stringWithFormat:@"%d",intVal]; 将其转换为字符串;
在第二个视图中,声明一个 NSUInteger 变量,比如 NSUInteger _intVal。
在.h文件中,声明一个方法
-(void)setIntVal:(NSUInteger)inVal;
在.m文件中,
-(void)setIntVal:(NSUInteger)inVal
{
_intVal = inVal;
}
现在您可以在第二个视图中使用 _intVal。
【讨论】:
在 .h 文件中声明一个变量
NSInteger tempValue;
声明一个这样的方法:
- (void)SetValue:(NSInteger)value {
tempValue=value;
}
- (void)GetValue{
return tempValue;
}
当你设置它时,你使用:
AppDelegate* app = (AppDelegate*)[[UIApplication sharedApplication] delegate];
[app SetValue:xxxx]
当你需要它时,使用:
AppDelegate* app = (AppDelegate*)[[UIApplication sharedApplication] delegate];
xxxx = [app GetValue];
【讨论】:
当您从 view1 转到 view2 时,请这样做。
在view2中取一个变量并将属性设置为
@property (nonatomic,readwrite) int val; //this is in the view2 .h file
在 view2 .m 文件中执行此操作。 @synthesize val;
然后当您将 view2 作为子视图添加到 view1 时
view2object.val=someval;// like 1,2,3....
【讨论】: