mirror of
https://github.com/wahyd4/Yep.git
synced 2026-08-19 09:46:56 +10:00
removeAllListeners when cleanAllUserDefaults
This commit is contained in:
@@ -68,10 +68,15 @@ class Listenable<T> {
|
||||
for listener in listenerSet {
|
||||
if listener.name == name {
|
||||
listenerSet.remove(listener)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func removeAllListeners() {
|
||||
listenerSet.removeAll(keepCapacity: false)
|
||||
}
|
||||
|
||||
init(_ v: T, setterAction action: SetterAction) {
|
||||
value = v
|
||||
setterAction = action
|
||||
@@ -95,6 +100,16 @@ class YepUserDefaults {
|
||||
|
||||
class func cleanAllUserDefaults() {
|
||||
|
||||
v1AccessToken.removeAllListeners()
|
||||
userID.removeAllListeners()
|
||||
nickname.removeAllListeners()
|
||||
introduction.removeAllListeners()
|
||||
avatarURLString.removeAllListeners()
|
||||
badge.removeAllListeners()
|
||||
pusherID.removeAllListeners()
|
||||
areaCode.removeAllListeners()
|
||||
mobile.removeAllListeners()
|
||||
|
||||
defaults.removeObjectForKey(v1AccessTokenKey)
|
||||
defaults.removeObjectForKey(userIDKey)
|
||||
defaults.removeObjectForKey(nicknameKey)
|
||||
@@ -102,7 +117,6 @@ class YepUserDefaults {
|
||||
defaults.removeObjectForKey(avatarURLStringKey)
|
||||
defaults.removeObjectForKey(badgeKey)
|
||||
defaults.removeObjectForKey(pusherIDKey)
|
||||
|
||||
defaults.removeObjectForKey(areaCodeKey)
|
||||
defaults.removeObjectForKey(mobileKey)
|
||||
}
|
||||
|
||||
@@ -53,6 +53,8 @@ class EditProfileViewController: UIViewController {
|
||||
YepUserDefaults.nickname.removeListenerWithName(Listener.Nickname)
|
||||
YepUserDefaults.introduction.removeListenerWithName(Listener.Introduction)
|
||||
YepUserDefaults.badge.removeListenerWithName(Listener.Badge)
|
||||
|
||||
println("deinit EditProfileViewController")
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
|
||||
@@ -290,6 +290,8 @@ class ProfileViewController: UIViewController {
|
||||
|
||||
YepUserDefaults.nickname.removeListenerWithName(Listener.Nickname)
|
||||
YepUserDefaults.introduction.removeListenerWithName(Listener.Introduction)
|
||||
|
||||
println("deinit ProfileViewController")
|
||||
}
|
||||
|
||||
override func preferredStatusBarStyle() -> UIStatusBarStyle {
|
||||
@@ -305,6 +307,8 @@ class ProfileViewController: UIViewController {
|
||||
|
||||
title = NSLocalizedString("Profile", comment: "")
|
||||
|
||||
println("init ProfileViewController \(self)")
|
||||
|
||||
NSNotificationCenter.defaultCenter().addObserver(self, selector: "cleanForLogout", name: EditProfileViewController.Notification.Logout, object: nil)
|
||||
|
||||
if profileUser == nil {
|
||||
|
||||
@@ -44,6 +44,8 @@ class SettingsViewController: BaseViewController {
|
||||
|
||||
deinit {
|
||||
YepUserDefaults.introduction.removeListenerWithName(Listener.Introduction)
|
||||
|
||||
println("deinit SettingsViewController")
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
|
||||
Reference in New Issue
Block a user