Swift

Swift:Dropboxの接続切り離し?

調査中です。Dropboxの接続、ファイル一覧読み込み、.jpg読み込みまでOKで、そのあとの接続切り離しがうまくないようだとわかってきました。

1点わからない点と新たに3点わかったことがあります。

  • 完全に不明  Obj.Cの”?”はSwiftではどのように記述するの?

現時点のSwift対応中のもの
var modalWindow:Bool = xCheckBox?.state == NSOnState

DBAccountManager.sharedManager().linkFromWindow(self.xbWindow, withCompletionBlock: { account in
Swift documentation
DBAccountManager.sharedManager().linkFromWindow(<#parentWindow: NSWindow!#>, withCompletionBlock: <#DBLinkCompletionBlock!##(DBAccount!) -> Void#>)
Obj.Cのサンプルコード
[[DBAccountManager sharedManager] linkFromWindow:(modalWindow ? [self xWindow] : nil) withCompletionBlock:^(DBAccount *account) {

 

  • Dropboxを切り離したとき、key接続の直後に付け加えた次のコードに飛んできました。observerは監視という意味だとは思っていたのですが、接続切り離しを監視しているという意味なのでしょうか。
    mcKey           = “q7ekyjhmxfye0fu”
    mcSecret        = “b7eihywcg64qq6l”
    if ExecCheckPlistKey() == “NG”  { return }
    let wAccountMgr = DBAccountManager(appKey:mcKey, secret:mcSecret)
    DBAccountManager.setSharedManager(wAccountMgr)
    var wOK:String = “NG”
    wAccountMgr.addObserver(self, block: { account in 
                if account == nil || account.linked == false {    
                    self.ExecPrintMessage( “Dropboxアカウントを切り離し” )
                    self.ExecUpdateButtonText(“Unlinked”)                  
                    DBFilesystem.setSharedFilesystem(nil)                  
                    return                                     
                } else  { wOK = “OK” } 
     });
  • Dropbox接続、ファイル一覧読み込み、.jpg読み込み後に接続切り離しをするようにしたら、IBActionでの接続・切り離しの動きが変わってきました。
    ➡️接続切り離しがうまくないようです。
  • Dropboxの処理は非同期に行われます。したがって、MesaClipperの画面が表示され、処理の途中で.jpgファイルの読み込みが完了することになります。
    ➡️非同期処理であることを頭に入れておかないと、勘違いが起きるかもしれません。

Categories: Swift, 技術