在Ratingview Startup 中保留并保存新评级

发布于 2024-09-13 20:26:30 字数 946 浏览 6 评论 0原文

这是我之前关于 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 的类型不兼容,并且在构建时无法转换为指针类型错误...

This is on a sidenote to my previous question about ratingview

I have this code:

[starView displayRating:1.5];

...however, I want it to be changed according to this:

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

How can I make it displayRating: newString...

Can anyone show me how to do this please?

Update

Update
i have this code in place from what ive seen from your instructions (without the labels those are irrevelant)

 -(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]]; }

however i am getting an error message incompatible type for argument 1 of display rating and cannot convert to pointer type errors while building...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你好,陌生人 2024-09-20 20:26:30

如果您想在应用程序启动之间保存简单的单值评级,您应该使用 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 文件加载时调用。

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

-(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]
}

If you want to save a simple one value rating between application launches you should use NSUserDefaults like this:

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

Update:

im sorry im a 16 year old and i have
no idea how to implement this into my
code. ive never used the nsuserdefault
class before i have this code how
would i do it.

-(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]
}

Well, to start, you would most likely want to put this code in viewDidAppear instead so that it is called every time the view appears. viewDidLoad is only called the first time the view controller loads from the nib file.

Suppose you wanted to set the text of theLabel to the value of the saved rating. It would look like this:

-(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]
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文