Интеграция с целью Chartboost-c

Я успешно интегрировал видео с вознаграждением Chartboost, оно работает, но я хочу реализовать код, который будет увеличивать кредиты, когда пользователь полностью просмотрит видео с вознаграждением. Я пытался реализовать делегат приложения, и он работает, вызывая его, но из-за некоторых внутренних функций мне нужно будет реализовать его в конкретном контроллере представления. поэтому, когда я помещаю тот же код

 -(void)didCompleteRewardedVideo:(CBLocation)location
                     withReward:(int)reward {

 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Really reset?" message:@"hi ?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
    // optional - add more buttons:
    [alert addButtonWithTitle:@"Yes"];
    [alert show];


}

представление предупреждения не появится, если я реализую этот код в конкретном контроллере представления вместо appdelegate. я предполагаю, что он не вызывается в контроллере представления, поскольку у него нет ответа. мне нужна помощь в реализации контроллера представления


person katie    schedule 14.12.2015    source источник
comment
используйте uialertcontroller вместо uialertview. Вам нужно показать код, где вы вызываете вышеуказанный метод   -  person Teja Nandamuri    schedule 14.12.2015


Ответы (1)


Чтобы внести изменения в пользовательский интерфейс, вы должны вызвать его в основной очереди.

dispatch_async(dispatch_get_main_queue(), ^{
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Really reset?" message:@"hi ?" delegate:self     cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
// optional - add more buttons:
            [alert addButtonWithTitle:@"Yes"];
            [alert show];

        });

Или вы можете просто передать делегат представления и показать предупреждение о нем.

-(void) DisplayMessage:(NSString*)message withDelegate:(id)delegate
{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Title"
                                               message:message delegate:delegate
                                     cancelButtonTitle:nil
                                     otherButtonTitles:@"Ok", nil];
[alert show];
}
person Ozgur Sahin    schedule 14.12.2015
comment
но моя проблема в том, как убедиться, что пустота вызывается. - person katie; 15.12.2015
comment
Я не понял, что ты имеешь в виду. Вы хотите, чтобы этот метод (didCompleteRewardedVideo) вызывался и возвращался? - person Ozgur Sahin; 15.12.2015