Сохранение и сохранение нового рейтинга при старте Ratingview - PullRequest
0 голосов
/ 10 августа 2010

Это относится к моему предыдущему вопросу о рейтинге

У меня есть этот код:

[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 голосов
/ 10 августа 2010

Если вы хотите сохранить простой рейтинг на одно значение между запусками приложений, вы должны использовать 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 вызывается только при первой загрузке контроллера представления из файла пера.

Предположим, вы хотите установить для текста ярлыка значение сохраненного рейтинга.Это будет выглядеть так:

-(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]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...