为什么 '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)
})
}
}
我正在关注 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)
})
}
}