Каков объем * взлом CSS?

Вы пытаетесь использовать 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")
    }   
}

Примечание: Имена классов начинаются с заглавной буквы

5
задан Erik Funkenbusch 30 August 2014 в 22:24
поделиться

1 ответ

Это относится к IE7 и ниже. Но знайте, что это не действительный CSS, и он мог повредиться в любое время. Посмотрите здесь для более всестороннего списка различных взломов CSS и на какие браузеры они влияют.

Хотя Internet Explorer 7 исправил свое поведение, когда имя свойства снабжается префиксом подчеркивание или дефис, другие префиксы небуквенно-цифрового знака рассматривают, как они были в IE6. Поэтому, если Вы добавляете небуквенно-цифровой знак, такой как звездочка (*) сразу, прежде чем имя свойства, свойство будет применено в IE а не в других браузерах. В отличие от этого, с дефисом и методом подчеркивания, спецификация CSS не осуществляет бронирования для звездочки как префикс, таким образом, использование этого взлома могло привести к неожиданному поведению, поскольку спецификации CSS развиваются.

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

9
ответ дан 14 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

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