这是我写的viewDidLoad。Dropbox委托方法不是第一次调用
if DBSession.shared().isLinked() {
print("already linked")
initDropboxRestClient()
}
else
{
print("connecting2")
DBSession.shared().link(from: self)
initDropboxRestClient()
}
和函数initDropboxRestClient()写在下面。
func initDropboxRestClient() {
dbRestClient = DBRestClient(session: DBSession.shared())
dbRestClient.delegate = self
dbRestClient.loadMetadata("/")
}
问题是我具有用于显示收存箱文件名,第一视图控制器调用委托方法和完美显示文件名和文件夹名的两个视图控制器。但第二个不是。
在第二个视图控制器, 我观察到,如果我滚动我的tableview在第二个视图控制器上下,那么委托方法会立即被调用,并且一旦下次立即调用方法时它会被链接。
因此,第一次委托方法没有在我的第二个Dropbox视图控制器中调用这就是我的问题在这里。提前致谢。
restClient委托方法如下。
func restClient(_ client: DBRestClient!, loadedMetadata metadata: DBMetadata!) {
for file in metadata.contents
{
dbMetadataArray.append(file as! DBMetadata)
fileNamesArray.append((file as AnyObject).filename)
}
tableView.reloadData()
self.myActivityIndicator.stopAnimating()
self.myActivityIndicator.hidesWhenStopped = true
}
func restClient(_ client: DBRestClient!, loadMetadataFailedWithError error: Error!) {
print("in loadMetadataFailedWithError method in dropbox email view controller")
print("Error dscription = %@",[error.localizedDescription])
let alert = UIAlertController(title: "Go Back.", message: "Try Once Again", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil))
self.myActivityIndicator.stopAnimating()
self.myActivityIndicator.hidesWhenStopped = true
tableView.reloadData()
}
请向我们展示相关代表方法的实施......谢谢! –
我已经添加了委托方法。谢谢。 – aditya