Если вы выполняете экспорт с помощью PhpMyAdmin , вы можете переключить режим совместимости sql на «MSSQL». Таким образом, вы просто запускаете экспортированный скрипт с вашей базой данных MS SQL, и все готово.
Если вы не можете или не хотите использовать PhpMyAdmin, в mysqldump , но лично я предпочел бы, чтобы PhpMyAdmin сделал это для меня.
Ваш класс будет выглядеть как
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")
}
}
На самом деле поток и очередь отправки - красные сельди. Проблема в том, что self.tryAgainButton
является ссылкой на кнопку, которой нет в интерфейсе с самого начала. Это где-то в мысленном пространстве. У него нет супервизии и не видно. Поэтому вы звоните removeFromSuperview
и ничего не происходит.
Вы добавили кнопку в интерфейс (reconnectButton
). [Вы сделали это совершенно неправильно, но что не так с тем, как вы это сделали, это будет предметом другого вопроса!] Но вы никогда не устанавливали self.tryAgainButton
на reconnectButton
, поэтому они не являются одинаковыми кнопками. У вас есть две кнопки , одна в интерфейсе (reconnectButton
) и одна в пространстве мысли (self.tryAgainButton
).