Пользовательский интерфейс не получает обновления, хотя использует основной поток

Если вы выполняете экспорт с помощью PhpMyAdmin , вы можете переключить режим совместимости sql на «MSSQL». Таким образом, вы просто запускаете экспортированный скрипт с вашей базой данных MS SQL, и все готово.

Если вы не можете или не хотите использовать PhpMyAdmin, в mysqldump , но лично я предпочел бы, чтобы PhpMyAdmin сделал это для меня.

0
задан L. Stephan 3 March 2019 в 16:08
поделиться

2 ответа

Ваш класс будет выглядеть как

class ConnectionLostView: UIView {

    let reconnectButton = UIButton(type: .roundedRect)

    @objc func tryToReconnect() {

    } 
    override init(frame: CGRect) {
        super.init(frame: frame)

        let buttonAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white, NSAttributedString.Key.font: UIFont.boldSystemFont(ofSize: 18)]
        let attributedButtonString = NSAttributedString(string: "Try To Reconnect", attributes: buttonAttributes) 
        reconnectButton.translatesAutoresizingMaskIntoConstraints = false
        reconnectButton.setAttributedTitle(attributedButtonString, for: .normal)
        reconnectButton.addTarget(self, action: #selector(tryToReconnect), for: .touchUpInside)
        addSubview(reconnectButton)

        // add constraints for the button

    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

}
0
ответ дан Sh_Khan 3 March 2019 в 16:08
поделиться

На самом деле поток и очередь отправки - красные сельди. Проблема в том, что self.tryAgainButton является ссылкой на кнопку, которой нет в интерфейсе с самого начала. Это где-то в мысленном пространстве. У него нет супервизии и не видно. Поэтому вы звоните removeFromSuperview и ничего не происходит.

Вы добавили кнопку в интерфейс (reconnectButton). [Вы сделали это совершенно неправильно, но что не так с тем, как вы это сделали, это будет предметом другого вопроса!] Но вы никогда не устанавливали self.tryAgainButton на reconnectButton, поэтому они не являются одинаковыми кнопками. У вас есть две кнопки , одна в интерфейсе (reconnectButton) и одна в пространстве мысли (self.tryAgainButton).

0
ответ дан matt 3 March 2019 в 16:08
поделиться
Другие вопросы по тегам:

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