Почему "я" используется вне класса?

Я следую этому руководству на GitHub о том, как реализовать SwiftyDropbox в приложении для iOS. Там есть пункт, где он говорит мне, чтобы добавить этот код в мой 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'

Предположительно, это потому, что я объявляю функцию вне класса. Что я делаю неправильно? Кто-нибудь знает учебник / пример приложения, которое действительно работает и в курсе последних версий Swift и Xcode, которые могут научить меня, как использовать SwiftyDropbox?

1 ответ

Решение

Абзац перед этим фрагментом

Вы можете начать поток авторизации, вызвав authorizeFromController:controller:openURL:browserAuth метод в контроллере представления вашего приложения.

введите описание изображения здесь

Так что он говорит вам написать этот фрагмент ВНУТРИ вашего View Controller (где используется self имеет смысл).

Вот пример

class Controller: UIViewController {

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

}
Другие вопросы по тегам