在Ratingview Startup保持并保存新的评级

时间:2010-08-10 11:23:42

标签: iphone uilabel

这是my previous question关于ratingview

的旁注

我有这段代码:

[starView displayRating:1.5];

...但是,我希望根据这个改变它:

-(void)ratingChanged:(float)newRating { 
    ratingLabel.text = [NSString stringWithFormat:@"Rating is: %1.1f", newRating];
    //....

如何制作displayRating: newString ...

有人能告诉我该怎么做吗?

更新

  

更新   我从你的说明中看到了这个代码(没有标签那些是无关紧要的)

 -(void)viewDidLoad {
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];


NSLog(@"Initializing rating view");
[starView setImagesDeselected:@"0.png" partlySelected:@"1.png" fullSelected:@"2.png" andDelegate:self];
[starView displayRating:[[defaults floatForKey:@"Rating"] stringValue]]; }

但是我收到显示评级的参数1的错误消息不兼容类型,并且在构建时无法转换为指针类型错误...

1 个答案:

答案 0 :(得分:0)

如果要在应用程序启动之间保存简单的一个值,则应使用NSUserDefaults,如下所示:

NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
// Save
[defaults setFloat:newRating forKey:@"Rating"];
// Read
float *savedRating=[defaults floatForKey:@"Rating"];

更新

  对不起,我16岁了,我有   不知道如何实现这一点   码。香港专业教育学院从未使用过nsuserdefault   我之前有这个代码如何   我会这样做吗。

-(void)viewDidLoad { 
    [super viewDidLoad]
    theLabel.text = myLabel
    theLabel2.text =myLabel2
    NSLog(@"Initializing rating view")
    [starView setImagesDeselected:@"0.png" partlySelected:@"1.png" fullSelected:@"2.png" andDelegate:self]
    [starView displayRating:savedRating]
}

嗯,首先,您很可能希望将此代码放在viewDidAppear中,以便每次出现视图时调用它。 viewDidLoad仅在视图控制器第一次从nib文件加载时调用。

假设您要将theLabel的文本设置为已保存评级的值。它看起来像这样:

-(void)viewDidLoad { 
    [super viewDidLoad]
    NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
    theLabel.text = [[defaults floatForKey:@"Rating"] stringValue];
    theLabel2.text =myLabel2
    NSLog(@"Initializing rating view")
    [starView setImagesDeselected:@"0.png" partlySelected:@"1.png" fullSelected:@"2.png" andDelegate:self]
    [starView displayRating:savedRating]
}