Несколько протоколов - PullRequest
       4

Несколько протоколов

0 голосов
/ 27 января 2011

Я заявляю, что мой делегат приложения соответствует протоколам

<UIApplicationDelegate, SKPaymentTransactionObserver>

в заголовочном файле делегата приложения (т.е. интерфейс делегата приложения).

Компилятор говорит мне во многих местах моего кода, что:

warning: type 'id <UIApplicationDelegate>' does not conform to the 'SKPaymentTransactionObserver' protocol

Что случилось?

Ответы [ 2 ]

2 голосов
/ 27 января 2011

Вы, вероятно, делаете что-то вроде [[SKPaymentQueue defaultQueue] addTransactionObserver:[[UIApplication sharedApplication] delegate]].Поскольку -[UIApplication delegate] объявлено как возвращающее id<UIApplicationDelegate>, компилятор не может знать, что возвращаемый объект будет реализовывать протокол SKPaymentTransactionObserver.Попробуйте назначить делегат переменной, которая статически типизируется как ваш класс делегата, и передать , что , методу, который вы пытаетесь вызвать, и компилятор должен быть счастлив.

0 голосов
/ 27 января 2011

В вашем ApplicationDelegate, похоже, отсутствуют некоторые из необходимых делегатов, например:

- (void)applicationWillResignActive:(UIApplication *)application

Проверьте, какие методы делегата SKPaymentTransactionObserver требуются, и добавьте их в свой AppDelegate.m

Кроме того, проверьте Ссылка протокола SKPaymentTransactionObserver

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...