iOS中的Dropbox API:如何使用DBRestClient?

我试图按照Dropbox开发人员的网站上的说明,但我不知道如何正确添加一个DBRestClient对象。 现在在我的.h文件@end后,我有:

DBRestClient *restClient; 

在我的.m文件中,我有:

 - (DBRestClient *)restClient { if (!restClient) { restClient = [[DBRestClient alloc] initWithSession:[DBSession sharedSession]]; restClient.delegate = self; } return restClient; } 

这是Dropbox页面告诉我要做的事情,我想; 然而,这导致我的应用程序崩溃(我认为,因为它试图释放restClient的时候不应该)。 我也尝试列出restClient作为nonatomic属性,但然后上传等方法似乎并没有工作。 (上传方法正在工作,应用程序刚刚崩溃,一旦它完成上传…)帮助?

Rupesh,基于4月20日蜜蜂评论的详细的规范答案是, self正在被释放。

这意味着必须有一些代码按顺序进行。

  1. 一个通过调用restClient函数创build的variables,该函数返回一个types为(DBRestClient *)的对象
  2. 该variables设置它的组件(@属性?可能) delegateself在该function(见上面的问题)
  3. 后来, self指向的对象被释放,意味着代表没有指向任何东西。
  4. 后来还有一些代码是为了某种目的而试图取消引用代码的。

要记住发送消息到零objc对象只有有效地导致没有任何事情发生或如果消息发送是一个零赋值是一个函数。 因此崩溃一定是由于某种其他方式的引用。