我的Dropbox API存在问题。我正在研究由另一位开发人员启动的大应用程序。现在我要清理代码。所有委托方法(loadedMetadata& Co.)都直接在视图中。现在我想将它们提取到自己的类中。所以我创建了一个包含其中所有方法的DropboxService类。所以我有了视图,并从DropboxService调用方法loadMetadata。该方法被调用并且很好。但是从不调用Delegate方法loadedMetadata。
我做错了什么/我需要改变什么才能使其正常工作?
Dropbox Service将DBRestClientDelegate作为“超类”(不知道我究竟如何调用)
@interface DropboxService : CloudProviderService <DBRestClientDelegate> {
}
编辑:
服务在AppDelegate中实例化,并且是一个变量:
- (DropboxService *)getDropboxService {
if (self.dropboxService == nil) {
self.dropboxService = [[DropboxService alloc] init];
}
return self.dropboxService;
}
来自德国的问候
亚历山大
答案 0 :(得分:0)
您还需要在init
之后设置委托DBRestClient.delegate = self;
来自此界面
@interface DBRestClient : NSObject { ... id<DBRestClientDelegate> delegate;
答案 1 :(得分:0)
该标头并未说明DropboxService
是DBRestClientDelegate
它表示DropboxService
符合DBRestClientDelegate
Dropbox示例项目解释了所有这些,但您希望查找设置DBRestClient
的位置,并确保DropboxService
成为该实例的委托。
这是我的代码中符合DBRestClientDelegate
- (DBRestClient*)restClient {
if (restClient == nil) {
restClient = [((DBRestClient *)[DBRestClient alloc]) initWithSession:[DBSession sharedSession]];
restClient.delegate = self;
}
return restClient;
}