为什么 'self' 在 class 之外使用?

Why is 'self' used outside of a class?

我正在关注 this tutorial on GitHub 如何在 iOS 应用程序中实施 SwiftyDropbox。有一点它告诉我将此代码添加到我的 ViewController

import UIKit
import SwiftyDropbox

func myButtonInControllerPressed()
{
    DropboxClientsManager.authorizeFromController(UIApplication.shared, controller: self, openURL: { (url: URL) -> Void in UIApplication.shared.openURL(url)})
}

然后我收到一条错误消息说

Use of unresolved identifier 'self'

大概这是因为我在 class 之外声明了一个函数。我究竟做错了什么?有谁知道 tutorial/sample-app 确实有效并且与最新的 Swift 和 Xcode 保持同步,可以教我如何使用 SwiftyDropbox?

该片段之前的段落确实说了

You can commence the auth flow by calling authorizeFromController:controller:openURL:browserAuth method in your application's view controller.

所以它告诉你在你的视图控制器中写 INSIDE 片段(使用 self 是有意义的)。

这是一个例子

class Controller: UIViewController {

    func myButtonInControllerPressed() {
        DropboxClientsManager.authorizeFromController(UIApplication.shared,
                                                      controller: self,
                                                      openURL: { (url: URL) -> Void in
                                                        UIApplication.shared.openURL(url)
        })
    }

}