Я делаю значок загрузки в моем файле extension.swift. Я считаю, что нам не нужно использовать какую-либо стороннюю библиотеку только для загрузки иконок. Однако я не могу хранить какие-либо значения в файле расширения. Если я не сохраню, он будет выглядеть как
import UIKit
extension UIViewController {
func startLoading() {
let activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
activityIndicator.center = self.view.center
activityIndicator.hidesWhenStopped = true
activityIndicator.style = .gray
DispatchQueue.main.async {
self.view.addSubview(activityIndicator)
}
activityIndicator.startAnimating()
UIApplication.shared.beginIgnoringInteractionEvents()
}
func stopLoading() {
let activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
DispatchQueue.main.async {
activityIndicator.stopAnimating()
}
UIApplication.shared.endIgnoringInteractionEvents()
}
}
Так что в вашем контроллере представления вы можете напрямую вызывать startLoading () или stopLoading (). Однако stopLoading не работает. Это потому, что он не обращается к переменной, инициированной startLoading. Есть ли способы пойти по этому поводу? Большое спасибо, ребята!