2016-11-18 2 views
0

Ich erstelle eine Todo-App mit Swift für iPhone. Ich möchte, dass die Tabellenansicht den Namen und die Uhrzeit der Aufgabe in einer Tabellenansicht anzeigt. Das Textlabel zeigt den korrekten Namen der Aufgabe, aber die detailTextLabel zeigt nur Detail und nicht die Zeit.Tabellenansicht in swift ios detailTextLabel

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {  
    var cell = tableView.dequeueReusableCell(withIdentifier: "cell") as UITableViewCell! 
    let task = tasks[indexPath.row]   

    if task.done { 

     cell?.textLabel!.text = "‼️\(task.name!)" 
     task.time = cell!.detailTextLabel!.text 
    } else {    
     cell?.textLabel!.text = "\(task.name!)" 
     task.time = cell!.detailTextLabel!.text 
    }   
    return cell! 
} 

Antwort

0

Ihre Zuordnung des detailTextLabel ist rückwärts.

if task.done { 

    cell?.textLabel!.text = "‼️\(task.name!)" 
    cell!.detailTextLabel!.text = task.time 
} 
else { 

    cell?.textLabel!.text = "\(task.name!)" 
    cell!.detailTextLabel!.text = task.time 

} 
+0

Thaks Mann. Habe das nicht gesehen: D – tc34

+0

Kein Problem! Bitte als Antwort markieren, wenn es gelöst wurde. (Was es getan hat;) – TheValyreanGroup

0

Sie haben den Text der Detailbeschriftung nie auf irgendwas gesetzt. Sie werden es so etwas einstellen müssen:

cell?.detailTextLabel!.text = task.time.longStyleDateString

Und hier ist dieses Datum Erweiterung:

extension Date { var longStyleDateString: String { let formatter = DateFormatter() formatter.dateStyle = .long return formatter.string(from: self) } }

Verwandte Themen