I recommend to use the next logic:
@property (strong, nonatomic) QBChatRoom *testRoom;
Join
[[QBChat instance] setDelegate:self];
[[QBChat instance] createOrJoinRoomWithName:@"myRoom" membersOnly:NO persistent:YES];
#pragma mark -
#pragma mark QBChatDelegate
- (void)chatRoomDidEnter:(QBChatRoom *)room{
// retain current room
self.testRoom = room;
}
Leave
[[QBChat instance] leaveRoom:testRoom];
#pragma mark -
#pragma mark QBChatDelegat
- (void)chatRoomDidLeave:(NSString *)roomName{
// release room
self.testRoom = nil;
}
I think your issue is with self.testRoom = nil;, you don't do it. But you should.
Try this suggestion.
http://quickblox.com/developers/SimpleSample-chat_users-ios#Joining.2Fleaving_rooms