У меня есть несколько настраиваемых всплывающих окон, которые я вызываю (чтобы настроить его, оживить всплывающее окно и оживить увольнение), но я хочу иметь одну переменную, которую я могу заменить в несколько функций, которые могут быть установлены оператором switch с одной переменной. Поэтому у меня нет 4+ каждой функции с тем же кодом, но с разными именами uiView. Как это делается, пожалуйста?Swift: использование переменной для описания UIViews
var myPopupView:NotePopUpView!
var myInformationPopUpView:InformationPopUpView!
var myDatePopUpView:DatePopUpView!
var myPainDiagramView:PainDiagramPopUpView!
func notePopUpCalled() {
if (myPopupView != nil) {
self.myPopupView.view.removeFromSuperview()
}
// making different size pop up for different screens
var popUpWidth = GlobalConstants.ScreenStats.screenWidth - 60
if UIScreen.mainScreen().bounds.size.width > 320 {
if UIScreen.mainScreen().scale == 3 {
popUpWidth = 320
} else {
popUpWidth = 320
}
} else {
popUpWidth = 283
}
self.myPopupView = NotePopUpView(frame: CGRect(x: 20, y: 350, width: popUpWidth, height: 334))
myPopupView.center = self.view.center
self.view.addSubview(myPopupView)
showAnimate()
}
Подумайте [протоколы] (https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Protocols.html) или суперклассы. – tktsubota
Это хорошо, но это не уменьшает код, как я надеялся. – SashaZ