Задать вопрос
@nuSan
Программист

Как вызвать функцию из другого класса, которая без типа?

Не могу понять в чём проблема. Как вызвать функцию которая вообще без типа чтоб напечатать текст? "Instance member 'mustprint' cannot be used on type 'Printer'; "

ViewController.swift
class ViewController: UIViewController {

    @IBAction func action (sender: UIButton) {
        Printer.mustprint() //не билдит
    }
}



Printer.swift
class Printer: ViewController {

	func mustprint() {
        print ("was printed")
    }

}
  • Вопрос задан
  • 1375 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
doublench21
@doublench21 Куратор тега Swift
А Вы уверенны что знаете язык Swift? Судя по коду и вопросу - нет.
Нужно понимать, что такое метод типа, а что такое инстанц метод.

Метод типа определяется так. Ключевое слово static может быть заменено на class(но это не важно)
class Printer {
  static func mustprint() {
    print ("was printed")
  }
}


И вызывается так
Printer.mustprint()

----------

А то что Вы написали, это инстанц метод
class Printer {
   func mustprint() {
    print ("was printed")
  }
}


И вызывается он сначала путём создание инстанца этого класса, а затем вызова функции.
let printer = Printer(); printer.mustprint()

----------

О чём Вам тут и говорят: "Instance member 'mustprint' cannot be used on type 'Printer'; "
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы