2016-08-25 9 views
0

私は学生のリストを持つtableviewを持っています。各セルには、学生の名前とサブタイトルが含まれています。私は、定数を作成してこのデータを返すことによって、サブタイトルに2つの要素を追加することができました。Swift - tableViewのdetailTextLabelに2つの配列要素を追加します。

私はこれを表示しようとしています:

(Textlabel)まず学生

(字幕)小学校、5年生

私は現在、コードのこの部分を使用しています:

let subTitle = "\(student.level)\(", ")\(student.grade)" 

cell!.detailTextLabel?.text = subTitle 

これは好きですか?それは機能していますが、これが最善の方法であるかどうかはわかりません。

私のコードの拡張版:

studentArray = [ 
     Student(level: "Elementary", grade: "5th grade", name: "First student"), 
     Student(level: "Junior High", grade: "3rd grade", name: "Second student"), 
     Student(level: "High School", grade: "1st grade", name: "Third student") 


// Return results 
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    var cell = tableView.dequeueReusableCellWithIdentifier("cellId") 
    if cell == nil { 
     cell = UITableViewCell(style: .Subtitle, reuseIdentifier: "cellId") 
    } 

    let student: Student 

    if searchController.active && (searchController.searchBar.text != "" || !filteredStudents.isEmpty) { 
     student = filteredStudents[indexPath.row] 
    } else { 
     student = studentArray[indexPath.row] 
    } 

    cell!.textLabel?.text = student.name 
    cell!.textLabel!.font = UIFont.systemFontOfSize(14) 

    cell!.textLabel?.text = student.name 
    cell!.textLabel!.font = UIFont.systemFontOfSize(14) 

    let subTitle = "\(student.level)\(", ")\(student.grade)" 

    cell!.detailTextLabel?.text = subTitle 
    cell!.detailTextLabel!.font = UIFont.systemFontOfSize(10) 

    return cell! 
} 
+0

は私にOK見える、しかし、これはコードレビューより少ないコードの問題の詳細です、これは右の場所であるかどうかわかりません。 –

+0

あなたのコードは大丈夫です –

+0

私は同意するので、最初にこの質問を投稿することは本当に確実ではありませんでした。 しかし、私は、同じ質問をしていて、似たようなものを探している人には、役に立つと思っていました。 –

答えて

0

その後、別の方法では、この

var subTitle = "\(student.level)" 
    subTitle += ",\(student.grade)" 

または最終的

のように追加

let subTitle = "\(student.level),\(student.grade)" 

ように使用を試してみてください10

cell!.detailTextLabel?.text = subTitle 
+0

フィードバックありがとう:-) –

0

はい、あなたの文字列が少し気味悪い以外は、よく見えます。ここだ、私はそれを簡素化したい方法です:

let subTitle = "\(student.level), \(student.grade)" // Elementary, 5th grade 
+0

フィードバックありがとう:-) –

関連する問題