Существует ли какое-либо решение для расширения расширений для повторного использования для большего количества классов с селекторами, которые указывают на себя? Например, я пытаюсь сделать расширение TimerHelper
, которое добавляет соответствующие функции для работы с NSTimer
. Я нашел это:Многоразовые расширения и селекторы Swift
https://forums.developer.apple.com/thread/26983
https://forums.developer.apple.com/message/49465#49465
Но решение кажется немного извилистый ...
То, что я пытаюсь сделать в коде, который не работает, конечно, является то, как это:
protocol TimerHelper {
var timer:NSTimer { get set }
}
extension TimerHelper {
func startTimer() {
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: self.updateTimer(), userInfo: nil, repeats: true)
}
func updateTimer() {
print("Timer updated.")
}
}
class ViewController: UIViewController, TimerHelper {
var timer: NSTimer = NSTimer()
func start() {
startTimer()
}
}
Благодаря
не работает? есть ли ошибка? – Harris
Прошу прощения, что ошибка буквально: 'Тип аргумента« Я »не соответствует ожидаемому типу« Anyobject ».« Но, по-моему, эта текущая ошибка не важна - было множество ошибок для большего количества ситуаций, которые я пробовал по сообщениям Я нашел или другие примеры и т. Д. Этот код должен был только проиллюстрировать мою идею. Спасибо в любом случае –