Отобразить расширение файла по умолчанию для пользователя в метке - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь вызвать пользователя по умолчанию в файле расширения.Я не знаю, как позвонить, чтобы он отображался в виде текста в элементах управления.В файле расширения, если я просто делаю счетчик печати, он отлично отображается в файле журнала.

extension UIViewController {
    func updateVisitCount() {
        let key = String(describing: type(of: self))
        let count = UserDefaults.standard.value(forKey: key) as? Int ?? 0
        UserDefaults.standard.set(count + 1, forKey: key)
    }
}

class easy: UIViewController {
    @IBOutlet var Name: UILabel!

    override func viewDidLoad() {
        Name.text = count
    }
}

1 Ответ

0 голосов
/ 30 ноября 2018

Ваш код не будет компилироваться, потому что вы пытаетесь получить доступ к переменной вне его области.

Область действия относится к видимости переменных и методов в одной части программы для другой части этогопрограмма.Важность и значение области видимости варьируется в зависимости от языка, но есть две общие концепции области действия, которые имеют много общих языков: локальная и глобальная область.https://en.wikiversity.org/wiki/Introduction_to_Programming/Scope

class Easy: UIViewController {

  @IBOutlet var name: UILabel!

  override func viewDidLoad() {

      name.text = String(visitCount)

      // didn't see it in your code but thought you might want this...
      updateVisitCount()
  }
}

extension UIViewController {

   private var visitCountKey: String { return String(describing: type(of: self)) }

   var visitCount: Int{
       return UserDefaults.standard.value(forKey: visitCountKey) as? Int ?? 0
   }

   func updateVisitCount() {
       UserDefaults.standard.set(visitCount + 1, forKey: visitCountKey)
   }
}
...