Uygulamanın geri kalanı için geçerli olan bir Giriş sayfam var. Uygulamamın geri kalanında kalan görüntü denetleyicileri kendi tanımladığım 'BaseViewController' öğesinden genişler.NSTimer
Aşağıdaki soru yaşıyorum?
import UIKit
class BsgBaseViewController: UIViewController {
var nsTimerObj: NSTimer!
func resetTimer(addTimeToTimeOutThread: NSTimeInterval){
nsTimerObj?.invalidate()
let nsTimerObjTemp = NSTimer.scheduledTimerWithTimeInterval(10.0, target: self, selector: "handleIdleEvent:", userInfo: nil, repeats: false)
nsTimerObj = nsTimerObjTemp
}
func handleIdleEvent(timer: NSTimer) {
let createAccountErrorAlert: UIAlertView = UIAlertView()
createAccountErrorAlert.delegate = self
createAccountErrorAlert.title = ("Title")
createAccountErrorAlert.message = "Due to the security policies your session has been timed out. We have to log you out."
createAccountErrorAlert.addButtonWithTitle("OK")
createAccountErrorAlert.show()
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
print("user touched")
self.resetTimer(HardCodedValues().hardCodedTimeOutApplication)
}
override func viewDidAppear(animated: Bool) {
self.resetTimer(HardCodedValues().hardCodedTimeOutApplication)
print("appear")
}
override func viewWillDisappear(animated: Bool) {
self.resetTimer(HardCodedValues().hardCodedTimeOutApplication)
print("disappear")
}
}
UITextField
veyaUITextView
tıklandığında ateş almaztouchesBegan()
yöntemi.İki kapılı ve iki
UIViewController
numaralıUISegmentedControl
numaralıUIViewController
numaralı bir Ayarlar var. Tüm bu üçUIViewController
, benimBaseViewController
'umdan türemiştir. Diğer ikiUIViewController
'u tıklattığımda, kaçınmak istediğim üç taneBaseViewController
örneğini oluştur.
# 2 Noktası: Gördüğünüz şey, yalnızca türetilmiş nesnelerin nasıl çalıştığıdır. Bir alt sınıf, ana sınıfının bir uygulamasıdır ... artı bazı şeyler. –
@Phillip Mills, elde etmek istediklerim, belirli bir süre sonra uygulamamı kapat. – Cloy
Bu iyi. Demek istediğim, zamanlayıcı mantığını, birden fazla çocuğa sahip bir temel sınıfa yerleştirmeniz, yalnızca uygulama için bir kronometre istediğinizde mantıklı değildir. Yapının detayları ve nasıl sıfırlandığı, yapının ihtiyacınız olanla eşleşmesine kadar gerçekten önemli değildir. Phillip Mills @ –