首页 > 解决方案 > SVGkit 不工作

问题描述

我使用了 SVGkit,但我的代码有错误。

当我执行应用程序时,图像加载但 xCode 显示错误并关闭我的应用程序。

当我执行应用程序时,图像加载但 xCode 显示错误并关闭我的应用程序。

当我执行应用程序时,图像加载但 xCode 显示错误并关闭我的应用程序。

表格视图功能

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as? TableViewCell
//            else {
//            return UITableViewCell()
//        }
        //print("cantidad: \(self.banderas.count)")
        DispatchQueue.global().async {
            if !self.banderas.isEmpty {
                if !indexPath.isEmpty{
                    //print(self.banderas[indexPath.row].bandera)
                    if self.banderas[indexPath.row].bandera != ""{
                        let url = URL(string: ("\(self.banderas[indexPath.row].bandera)"))
                        if url != nil {
                            let data = try? Data(contentsOf: url!)
                            DispatchQueue.main.async {
                                guard let anSVGImage: SVGKImage = SVGKImage(data: data!) else {
                                    return
                                }
                                cell?.labelNombre.text = "\(self.banderas[indexPath.row].nombre)"
                                cell?.labelIdioma.text = "\(self.banderas[indexPath.row].idioma)"
                                cell?.labelMoneda.text = "\(self.banderas[indexPath.row].moneda)"
                                cell?.imageCell.image = anSVGImage.uiImage
                            }
                        }
                    }
                }
            }
        }

        return cell!
    }

卡加功能。

func cargar(){

        let url = "https://restcountries.eu/rest/v2/all"

        Alamofire.request(url).responseJSON { (response) in
            //let result = response.data
                if let value = response.result.value {
                    let json = JSON(value)
                    self.totalCountries = json.count
                    var contador = 0

                    let jsonArray = json.arrayValue
                    for arr in jsonArray{
                        let nombre = arr["name"].stringValue
                        let banderaUrl = arr["flag"].stringValue
                        var moneda = ""
                        var idioma = ""
                        contador = 0
                        for item in arr["currencies"].arrayValue {
                            if contador == 0{
                                moneda = item["code"].stringValue
                            }
                            contador += 1
                        }
                        contador = 0
                        for item in arr["languages"].arrayValue {
                            if contador == 0{
                                idioma = item["nativeName"].stringValue
                            }
                            contador += 1
                        }
                    let banderaIndividual = Banderas(nombre: nombre, idioma: idioma, moneda: moneda, bandera: banderaUrl)
                        self.banderas.append(banderaIndividual)
                    }
                }
            self.banderasBuscar = self.banderas
            self.tabla.reloadData()
        }
//        print(self.countriesLista.first?.bandera)

    }

这是我的代码,错误是:

NSAssert( linkedElement != nil, @"Found an SVG <use> tag that points to a non-existent element. Missing element: id = %@", linkHref );

不知道怎么回事,求大神帮忙。

标签: iosiphoneswiftdebugging

解决方案


推荐阅读