Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 检索使用JSQMessage发送的图像_Ios_Swift_Jsqmessagesviewcontroller - Fatal编程技术网

Ios 检索使用JSQMessage发送的图像

Ios 检索使用JSQMessage发送的图像,ios,swift,jsqmessagesviewcontroller,Ios,Swift,Jsqmessagesviewcontroller,我正在使用JSQMessage在Swift中创建一个聊天应用程序,基本上我的问题是当用户点击聊天中的照片时,我希望照片全屏弹出 我将添加我正在尝试做的步骤,它可能更长,但更容易理解。(在发送方看来,这是有效的,因此作为图像的接收方将在同一数组中结束) 发送图片: let sendMessage = JSQMessage(senderId: senderId, displayName: senderDisplayName, media: photoItem) <- Image I am in

我正在使用JSQMessage在Swift中创建一个聊天应用程序,基本上我的问题是当用户点击聊天中的照片时,我希望照片全屏弹出

我将添加我正在尝试做的步骤,它可能更长,但更容易理解。(在发送方看来,这是有效的,因此作为图像的接收方将在同一数组中结束)

发送图片:

let sendMessage = JSQMessage(senderId: senderId, displayName: senderDisplayName, media: photoItem) <- Image I am interested is inside here
self.messages.append(sendMessage)
self.finishSendingMessage()

看起来有人有一个类似的问题得到了回答。基本上,您可以检查
JSQMessage
对象是否连接了媒体,然后将其强制转换为
JSQPhotoMediaItem
并从那里访问图像

以下是Jessequires回答中的Objective-C代码:

JSQMessage *message = [messages objectAtIndex:indexPath.row];

if (message.isMediaMessage) {
  id<JSQMessageMediaData> mediaItem = message.media;

  if ([mediaItem isKindOfClass:[JSQPhotoMediaItem class]]) {
    JSQPhotoMediaItem *photoItem = (JSQPhotoMediaItem *)mediaItem;
    UIImage *image = photoItem.image;
    // do stuff with the image
  }
}
JSQMessage*message=[messages objectAtIndex:indexath.row];
if(message.isMediaMessage){
id mediaItem=message.media;
if([mediaItem是KindofClass:[JSQPhotoMediaItem类]]){
JSQPhotoMediaItem*photoItem=(JSQPhotoMediaItem*)mediaItem;
UIImage*image=photoItem.image;
//对图像进行处理
}
}
Swift 3

let message =  self.messages[indexPath.row]
    if message.isMediaMessage == true{
        let mediaItem =  message.media
        if mediaItem is JSQPhotoMediaItem{
            let photoItem = mediaItem as! JSQPhotoMediaItem
             let image:UIImage = photoItem.image //UIImage obtained. 
         }

    }

谢谢,我也不知道如何将身份证翻译成Swift,我会四处看看,看看是否能弄明白!谢谢我能用斯威夫特完成我很感激
let message =  self.messages[indexPath.row]
    if message.isMediaMessage == true{
        let mediaItem =  message.media
        if mediaItem is JSQPhotoMediaItem{
            let photoItem = mediaItem as! JSQPhotoMediaItem
             let image:UIImage = photoItem.image //UIImage obtained. 
         }

    }