Я нуб, когда дело доходит до делегатов, но я уверен, что это будет кусок пирога для более опытных программистов, таких как вы.
Мой делегат приложения настроен так:
@interface iPhoneTestAppAppDelegate : NSObject <UIApplicationDelegate, SCSoundCloudAPIAuthenticationDelegate> {
UIWindow *window;
iPhoneTestAppViewController *viewController;
SCSoundCloudAPI *soundCloudAPIMaster;
}
- (SCSoundCloudAPI *)soundCloudAPIMaster;
{
if (!soundCloudAPIMaster) {
SCSoundCloudAPIConfiguration *scAPIConfig = [SCSoundCloudAPIConfiguration configurationForProductionWithConsumerKey:kTestAppConsumerKey
consumerSecret:kTestAppConsumerSecret
callbackURL:[NSURL URLWithString:kCallbackURL]];
soundCloudAPIMaster = [[SCSoundCloudAPI alloc] initWithDelegate:nil authenticationDelegate:self apiConfiguration:scAPIConfig];
// make shure to register the myapp url scheme to your app :)
}
return soundCloudAPIMaster;
}
, который содержит метод, который вызывается обратно:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;
Тогда мой viewController настроен с этим в файле .h:
@interface iPhoneTestAppViewController : UIViewController <SCSoundCloudAPIDelegate>
, а затем в viewController.m у меня есть метод, который выдвигает веб-представление. По сути, я пытаюсь получить метод обратного вызова из файла делегата для обратного вызова метода в файле viewController.m. (Я хотел бы закрыть свой веб-просмотр при получении обратного вызова).
Есть идеи? Я представил достаточно информации, чтобы расшифровать мою проблему? Это решаемо как общая проблема делегата или это больше специфическая проблема Soundcloud?
РЕДАКТИРОВАТЬ 1
Вот попытка исправить мою проблему, которая не работала:
![enter image description here](https://i.stack.imgur.com/bVbjE.png)