这是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的错误消息不兼容类型,并且在构建时无法转换为指针类型错误...
答案 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]
}