2016-06-10 6 views
1

Ich hole Rating-Daten von der API als Array of String. Der Wert "ratingcontrol.rating" akzeptiert jedoch nur den Int-Wert. Also, während die Bewertung in benutzerdefinierten Tabellenansicht Zelle Es gibt Fehler. Wie löst man es?Wie akzeptiere ich Rating-Wert von RateController als String in swift

Rating Erklärung:

var Ratings:Array<String> = Array <String>() 

Jetzt bin ich Daten von Api holen wie:

 var json: NSArray! 
     do { 
      json = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions()) as? NSArray 
     } catch { 
      print(error) 
     } 

    self.Ratings = json.valueForKey("rate") as! Array<String> 
     print(self.Ratings) 

Es zeigt mir erfolgreich den Wert von Api. Jetzt bevölkere ich es in der customtableviewcell.

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
       let cell = 
      tableView.dequeueReusableCellWithIdentifier("ReviewCustomCell", 
      forIndexPath: indexPath) as! ReviewCustomCell 

      **cell.ratingControl.rating = Ratings[indexPath.row]** 
    return cell 
} 

Der obige fett gedruckte zeigt Fehler als "Kann Wert des Typs String zu int annehmen". Jeder gibt eine Idee, um es zu lösen.

Antwort

1

Versuchen wir, den Bewertungswert als Array von Integer statt Array von Zeichenfolge zu nehmen.

// var Ratings:Array<String> = Array <String>() 
    var Ratings:Array<Int > = Array<Int >() 

Überprüfen Sie, ob es funktioniert oder nicht

+0

Ich habe diese auch versucht, aber immer noch ein weiterer Fehler gibt Datentypen Diskrepanz in Bezug auf. –

+0

Können Sie mir welche Art von Fehler gibt es gesendet. –

Verwandte Themen