This commit is contained in:
Peter 2015-11-17 07:13:36 -05:00
parent 00217e3aac
commit dd5f011865
2 changed files with 13 additions and 9 deletions

View File

@ -349,8 +349,11 @@ public class DDPClient: NSObject {
*/
public func sub(name:String, params: [AnyObject]?, callback: DDPCallback?) -> String {
let id = getId()
return sub(id, name: name, params: params, callback: callback)
let id = String(name.hashValue)
if let subData = findSubscription(name) {
return subData.id
}
return sub(id, name: name, params: params, callback: callback)
}
// Iterates over the Dictionary of subscriptions to find a subscription by name

View File

@ -334,6 +334,7 @@ extension DDPClient {
self.userData.setObject(id, forKey: DDP_ID)
self.userData.setObject(token, forKey: DDP_TOKEN)
self.userData.setObject(expiration, forKey: DDP_TOKEN_EXPIRES)
self.userData.synchronize()
}
if let c = callback { c(result:result, error:error) }
self.userData.setObject(true, forKey: DDP_LOGGED_IN)
@ -400,14 +401,15 @@ extension DDPClient {
*/
public func logout(callback:DDPMethodCallback?) {
method("logout", params: nil) { result, error in
NSOperationQueue.mainQueue().addOperationWithBlock() {
if (error == nil) {
let user = self.user()!
NSNotificationCenter.defaultCenter().postNotificationName(DDP_USER_DID_LOGOUT, object: nil)
if let _ = self.delegate {
self.delegate!.ddpUserDidLogout(user)
self.userMainQueue.addOperationWithBlock() {
let user = self.user()!
NSNotificationCenter.defaultCenter().postNotificationName(DDP_USER_DID_LOGOUT, object: nil)
if let _ = self.delegate {
self.delegate!.ddpUserDidLogout(user)
}
self.resetUserData()
}
self.resetUserData()
} else {
log.error("\(error)")
@ -416,7 +418,6 @@ extension DDPClient {
if let c = callback { c(result: result, error: error) }
}
}
}
/**
Automatically attempts to resume a prior session, if one exists