代码之家  ›  专栏  ›  技术社区  ›  sk123

如何将图像数组转换为字符串

  •  0
  • sk123  · 技术社区  · 6 年前

    我能够从api获取json。我已经填充了除 imageView SDWebImage . 我需要把这个数组转换成一个字符串,这样我就可以获取图像。我目前得到一个错误,说这个,因为网址应该是字符串

    '字符串'

    import SDWebImage
    
    class AlbumCell: UITableViewCell {
        @IBOutlet weak var albumImageView: UIImageView!
    
        var album: Album? {
            didSet {
                guard let url = URL(string: album?.image) else { return }
    
                albumImageView.sd_setImage(with: url, completed: nil)
            }
        }
    }
    
    struct Album: Decodable {
        let name: String
        let image: [Images]
        let artist: String
    }
    
    struct Images: Decodable {
        let text: String
        let size: String
    
        enum CodingKeys: String, CodingKey {
            case text = "#text"
            case size
        }
    }
    
    3 回复  |  直到 6 年前
        1
  •  2
  •   Ehsan Saddique    6 年前

    你的 Album 结构包含一个属性映像,它是 Images 在你的 URL(string: album?.image)

    你可以这样做 URL(string: album?.image[0].text)

        2
  •  0
  •   Chris    6 年前

    let urlstring:String = Images.text
    

    但是,您的相册图像是一个图像数组,您需要使用for循环提取这些图像元素

    for element in album.image { // need to consider each element in the array
         guard let url = URL(string: element.text) else {return} //then 
         albumImageView.sd_setImage(with: url, completed: nil)
    
        3
  •  -1
  •   user10431233 user10431233    6 年前

    将图像路径数组转换为base64编码字符串。

    代码如下:

    NSArray *recipeImages = [savedImagePath valueForKey:@"Image"];
    NSMutableArray *mutableBase64StringsArray = @[].mutableCopy;
    
    for (NSString *imagePath in recipeImages)
    {
        NSData *imagePathData = [imagePath dataUsingEncoding:NSUTF8StringEncoding];
        NSString *base64ImagePath = [imagePathData base64EncodedStringWithOptions:0];
        [mutableBase64StringsArray addObject:base64ImagePath];
    }