2017-04-15 6 views
0

Ich muss Reactive Cocoa oder RxSwift im folgenden Code für dynamische Labelhöhe und dynamische Zeilenhöhe verwenden.Kann ich ReactiveCocoa in swift 3 verwenden?

Kann ich Reactive Cocoa in Swift3 verwenden? Und was ist der Unterschied zwischen ReactiveCocoa und RxSwift?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell: BTSTableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "BTSTableViewCellIdentifier")! as! BTSTableViewCell 

    cell.configureWithPost(posts[indexPath.row]) 
    cell.delegate = self 
    return cell 

} 
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 

    // 259.5+ labelHeight+ bigImageHeight 

    let postViewModel = posts[indexPath.row] 

    //caption height 
    var captionHeight = postViewModel.textDetail?.height(withConstrainedWidth: tableView.bounds.size.width - 20, font: UIFont.systemFont(ofSize: 17)) 

    captionHeight = ceil(captionHeight!) 

    var finalCaptionHeight: CGFloat = 0.0; 

    if postViewModel.showDetailedCaption { 
     finalCaptionHeight = captionHeight! 
    } 
    else { 
     finalCaptionHeight = min(41, captionHeight!) 
    } 
    return 259.5 + postViewModel.getBigImageHeightFor(tableView.bounds.size.width) + finalCaptionHeight 

} 
+0

@Peres beantwortet Ihre Frage, aber ich frage mich, warum denken Sie, dass Sie "Reactive Cocoa oder RxSwift [...] für dynamische Label Höhe und dynamische Zeilenhöhe verwenden müssen"? –

+0

@Sebastian Eigentlich muss ich es verwenden, weil es meine Anforderung ist. – Bharath

Antwort

2

Kann ich Reactive Cocoa in swift3?

Ja, Sie können. Das Projekt ist located here. Es ist wichtig zu beachten, dass ReactiveCocoa nur die UI-Bindungen hat, während die eigentliche "Engine" ReactiveSwift heißt.

Und was ist der Unterschied zwischen ReactiveCocoa und RxSwift?

Sie können einen Vergleich here finden. Aber unter dem Strich sind beide zwei sehr fähige Frameworks. Sie werden es nicht falsch verstehen, unabhängig davon, welche Sie wählen.

+0

Danke. Kannst du mir helfen, den obigen Code in RxSwift zu konvertieren? – Bharath

+1

@Bharath das ist neben dem Umfang Ihrer Frage. Bitte markieren Sie diese Antwort als korrigiert (wenn Sie dies glauben) und öffnen Sie eine neue Frage. – Peres

Verwandte Themen