Вы пытаетесь использовать self на уровне класса, таким образом, это не относится к созданному вами экземпляру класса.
Вместо этого вы можете создать таймер после создания экземпляра вашего класса. Внутри конструктора класса там self будет ссылаться на то, что вы ожидаете
class Mymainclass: NSObject, NSApplicationDelegate{
var mytimer: Timer?
override init() {
super.init()
self.mytimer = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: #selector(function1), userInfo: nil, repeats: true)
}
@objc func function1(){
print("function1 test")
}
}
Примечание: Имена классов начинаются с заглавной буквы
Это относится к IE7 и ниже. Но знайте, что это не действительный CSS, и он мог повредиться в любое время. Посмотрите здесь для более всестороннего списка различных взломов CSS и на какие браузеры они влияют.
Хотя Internet Explorer 7 исправил свое поведение, когда имя свойства снабжается префиксом подчеркивание или дефис, другие префиксы небуквенно-цифрового знака рассматривают, как они были в IE6. Поэтому, если Вы добавляете небуквенно-цифровой знак, такой как звездочка (*) сразу, прежде чем имя свойства, свойство будет применено в IE а не в других браузерах. В отличие от этого, с дефисом и методом подчеркивания, спецификация CSS не осуществляет бронирования для звездочки как префикс, таким образом, использование этого взлома могло привести к неожиданному поведению, поскольку спецификации CSS развиваются.
Я настоятельно рекомендовал бы пересмотреть, нужен ли Вам действительно этот взлом, и если нет лучшего способа сделать то, что Вы хотите.