這是我寫的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