对于代表来说,我是一个菜鸟,但我相信对于像你这样经验丰富的编码员来说,这将是一块蛋糕。
我的app app delegate设置如下:
@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;
然后我在.h文件中设置了viewController:
@interface iPhoneTestAppViewController : UIViewController <SCSoundCloudAPIDelegate>
然后在viewController.m中我有一个推动webview的方法。基本上我正在尝试做的是从委托文件获取回调方法以回调到viewController.m文件中的方法。 (我希望在收到回调时关闭我的webView。)
有什么想法吗?我是否提供了足够的信息来破译我的问题?这可以作为一般委托问题解决,还是更像是一个特定于Soundcloud的问题?
编辑1
以下是尝试修复无法解决的问题:
答案 0 :(得分:0)
您需要将SoundClound变量的委托设置为self
,否则变量无法取代委托人。
initWithDelegate:self ....
答案 1 :(得分:0)
只需在ViewDidload Event中编写此代码...
yourcontrolname.delegate = self;