【问题标题】:JSMessageViewController = Passing PFObject into (id<JSMessageData>)JSMessageViewController = 将 PFObject 传递到 (id<JSMessageData>)
【发布时间】:2014-11-10 22:10:34
【问题描述】:

我使用 parse 作为我的数据库来存储用户输入的文本,然后将其显示到JSMessageViewController

我很难理解为什么我的PFObject 不会通过,而是看到空的消息单元格..

如您所见,在我的代码中,如果我传递了 // 代码中的任何一个,它就会崩溃,我知道 nil 不会工作,这就是我得到空白的原因......但是我如何传递一个 @ 987654325@改成JSMessageData?

- (id<JSMessageData>)messageForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //PFObject *chat = self.chats[(NSUInteger) indexPath.row];
    //return chat;

    //PFObject *chat = self.chats[indexPath.row];
    //NSString *message = chat[kMMKChatTextKey];
    //return message;

    return nil;

}

JSMessageData 有 3 个实例: - (NSDate *)date- (NSString *)sender- (NSString *)text ....

http://cocoadocs.org/docsets/JSMessagesViewController/4.0.0/Protocols/JSMessageData.html

有人用过这个吗?或者你能帮我弄清楚如何通过PFOject - Parse 工作正常,输入的文本,然后当我按下发送时,它存储在 Parse 中。

-(void)didSendText:(NSString *)text fromSender:(NSString *)sender onDate:(NSDate *)date
{
    if (text.length != 0){
        PFObject *chat = [PFObject objectWithClassName:@"Chat"];
        [chat setObject:self.chatRoom    forKey:kMMKChatChatroomKey];
        [chat setObject:self.currentUser forKey:kMMKChatFromUserKey];
        [chat setObject:self.withUser    forKey:kMMKChatToUserKey];
        [chat setObject:text             forKey:kMMKChatTextKey];
        [chat saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
            [self.chats addObject:chat];
            //[JSMessageSoundEffect playMessageSentSound];
            [self.tableView reloadData];
            [self finishSend];
            [self scrollToBottomAnimated:YES];
        }];
   }
}

【问题讨论】:

    标签: ios objective-c iphone xcode chat


    【解决方案1】:

    在 PFObject 上使用 objectForKey 方法,并传递适当的键来检索文本

    【讨论】:

    • 谢谢 - 你能帮忙详细说明一下语法吗?
    • 我认为@turbo 的意思是 [chats objectForKey:kMMKChatTextKey]。但是,如果您准确地确定哪条线路崩溃并在崩溃后粘贴控制台输出,那么 SO 可以更容易地提供帮助。
    【解决方案2】:

    下面的代码应该可以满足您的需要。

    - (id<JSMessageData>)messageForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        PFObject *chat = self.chats[indexPath.row];
        NSString *message = chat[kMMKChatTextKey];
        JSMessage *jsMessage = [[JSMessage alloc] initWithText:message sender:nil date:nil];
        return jsMessage;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-25
      • 1970-01-01
      • 2015-03-01
      • 2020-10-21
      • 2017-06-18
      • 1970-01-01
      相关资源
      最近更新 更多