QuickBlox-在一对一聊天中获取线程错误

问题描述:

您好我能够以用户身份进行身份验证,并且想要与Quick Blox所有者聊天,因此请使用所有者ID与当前经过身份验证的用户聊天。QuickBlox-在一对一聊天中获取线程错误

我的代码---

- (void)chatLogin 
{ 
QBChatDialog *chatDialog = [QBChatDialog new];  
chatDialog.name [email protected]"Chat With Me";  
chatDialog.occupantIDs = @[@(1111)]; 
chatDialog.type = QBChatDialogTypePrivate; 
[QBChat createDialog:chatDialog delegate:self]; 
} 

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
[self chatLogin]; 
// Do any additional setup after loading the view. 
self.messages = [NSMutableArray array]; 
self.messagesTableView.separatorStyle = UITableViewCellSeparatorStyleNone; 

} 

代码响应结果---

- (void)completedWithResult:(Result *)result 
{ 
if (result.success || [result isKindOfClass:QBChatHistoryMessageResult.class] || [result isKindOfClass:[QBChatDialogResult class]]) 
{ 
    QBChatDialogResult *res = (QBChatDialogResult *)result; 
    QBChatDialog *dialog = res.dialog; 
    NSLog(@"Dialog: %@", dialog); 

    QBChatHistoryMessageResult *res1 = (QBChatHistoryMessageResult *)result; 
    NSArray *messages = res1.messages; 
    [self.messages addObjectsFromArray:[messages mutableCopy]]; 
    [self.messagesTableView reloadData]; 
} 
} 

得到错误=

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '**setObjectForKey: object cannot be nil (key: chat_dialog_id)' 

*** First throw call stack: 

    **(
    0 CoreFoundation      0x036bcdf6 __exceptionPreprocess + 182 
    1 libobjc.A.dylib      0x03346a97 objc_exception_throw + 44 
    2 CoreFoundation      0x035b019c -[__NSDictionaryM 
    setObject:forKey:] + 940 
    3 CoreFoundation      0x0362c7f0 -[NSMutableDictionary 
    setObject:forKeyedSubscript:] + 48 
    4 vChat        0x00033853 -[QBCMessageGetQuery setParams:] + 243 
    5 vChat        0x0008c415 -[QBQuery setupRequest:] + 133 
    6 vChat        0x0008c11f -[QBQuery 
    performInBgAsyncWithDelegate:] + 511 
    7 Foundation       0x02f4cb57 -[NSThread main] + 76 
    8 Foundation       0x02f4cab0 __NSThread__main__ + 1326 
    9 libsystem_pthread.dylib    0x03eedecf _pthread_body + 138 
    10 libsystem_pthread.dylib    0x03eede45 _pthread_body + 0 
    11 libsystem_pthread.dylib    0x03eebf0e thread_start + 34 
)** 
libc++abi.dylib: terminating with uncaught exception of type NSException** 
+0

你使用哪种版本的iOS SDK的?我建议你更新到最新的2.0.10。我记得早期版本 – 2014-10-23 07:21:40

+1

@IgorKhomenko这个问题我已经更新到2.0.10,但存在相同的概率.. – NSArray 2014-10-24 11:38:02

看起来你的问题是与获取信息查询

NSMutableDictionary *extendedRequest = [NSMutableDictionary new]; 
extendedRequest[@"limit"] = @(100); 
NSString *dialogID = @"5406cba6efa357825a00002b"; 
[QBChat messagesWithDialogID:dialogID extendedRequest:extendedRequest delegate:self]; 

我想这dialogID是零,你的情况,这就是为什么你会得到一个异常

Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '**setObjectForKey: object cannot be nil (key: chat_dialog_id)' 

的dialogID不应该是零

+0

是我的dialodID是零但是我得到零,我已经认证 – NSArray 2014-10-25 12:08:48