2011-07-27 38 views
2

我正在创建一个iphone应用程序,其中我的oneviewcontroller中有一些整数值,我希望在我的secondviewcontroller控制器中使用整数值。想要将整数值传递到另一个视图

值将是随机的。 我存储这个整数值在id分数

Nw我正在使用此代码,但我无法获得整数值。

CODE:passing integer value from one UIView to another UIview

整数值总是在secondviewcontroller变为零。
任何帮助将不胜感激。
谢谢。

我的代码:

FirstView.h文件

NSInteger myScore; 
id score; 
NSInteger totalscore; 

.m文件

NSInteger *cal = (myScore * 100)/400 ; 

     totalscore = cal; 
     score = totalscore; 

SecondView.h文件

int scorevalue ; 

SecondView.m文件

FirstViewController *firstVC = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil]; 
value = firstVC.Score; 
NSLog(@"SCORE : %d" ,value); 
+0

你能显示你的代码吗? – Sascha

+0

@Sascha:我编辑了我的代码..请看看.. – iUser

+0

@Shrey:好的..我试过这个,但我想在SecondView ..中的值,并在第二次查看值变成0(零)..任何帮助。 !!:o – iUser

回答

3

例子:

如果我需要的int值4存放在FirstViewController,

[[NSUserDefaults standardUserDefaults] setObject:4 forKey:@"integer"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

我可以在SecondViewController为GET,

int value = [[NSUserDefaults standardUserDefaults] objectForKey:@"integer"] 
NSLog(@"integer = %d", [[NSUserDefaults standardUserDefaults] objectForKey:@"integer"]); 

希望它会完美地工作。

+1

哦...是的,它工作得很好.. 非常感谢开发人员.. :)我从最近2天开始工作.. 再次感谢您的帮助.. !! :) – iUser

+0

+1感谢这么好的回答:) – swiftBoy

0

由于'id'表示对象(see ref),但我们需要数据类型。

而不是声明它为id,声明它本身为int本身。

喜欢的东西,

int score; 

NSInteger score; 

编辑:

而且添加属性和合成它。 在.H

@property(nonatomic,assign) NSInteger score; 

在.M

@synthesize score; 

在第一视图控制器,该值传递给secondView通过,

NSInteger *cal = (myScore * 100)/400 ; 
totalscore = cal; 
score = totalscore; 
secondViewObj.score = score; 
+0

让我试试这个..谢谢!! – iUser

+0

我试过这个,但不知道如何在我的第二个视图中获得该值..这是我正在尝试解决的主要问题.. – iUser

+0

我编辑了我的答案。你尝试过吗? – Ilanchezhian

0

甲简单的方法是,存储该值在NSUserDefault中,并从secondviewcontroller中获取NSUserDefault的整数值。

+0

感谢您的快速回复..但我是iPhone新手。 那么你能告诉我如何在NSUserDefault中存储值吗? 你有任何链接或文件? – iUser

+0

会在下一个答案中给你。 – iOS

0

拿这个。在SecondViewController

int value; 

.h文件做如下功能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]; 
相关问题