Error[8]: Undefined offset: 1, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述如何创建Rx Swift风格的TableViewController? 我正在尝试创建一个使用RxSwift的简单TableViewController,并且没有任何部分. 我已经广泛地看了https://github.com/ReactiveX/RxSwift/blob/master/RxExample/RxExample/Examples/TableView/TableViewControll 如何创建Rx Swift风格的tableVIEwController?

我正在尝试创建一个使用RxSwift的简单tableVIEwController,并且没有任何部分.

我已经广泛地看了https://github.com/ReactiveX/RxSwift/blob/master/RxExample/RxExample/Examples/TableView/TableViewController.swift.

我将代码仅限于一个部分并仅使用用户.然而,似乎我仍然坚持使用SectionModel.

////  tableVIEwController.swift//  RxExample////  Created by carlos on 26/5/15.//  copyright (c) 2015 Krunoslav Zaher. All rights reserved.//// modifIEd by Mike Finney for a StackOverflow questionimport UIKit#if !RX_NO_MODulEimport RxSwiftimport RxCocoa#endifclass tableVIEwController: VIEwController,UItableVIEwDelegate {    @IBOutlet weak var tableVIEw: UItableVIEw!    var disposeBag = disposeBag()    let users = Variable([User]())    let dataSource = RxtableVIEwSectionedReloadDataSource<SectionModel<String,User>>()    typealias Section = SectionModel<String,User>    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        self.navigationItem.rightbarbuttonItem = self.editbuttonItem()        users            .map { [ SectionModel(model: "ok",items: [+++]) ] }            .bindTo(tableVIEw.rx_itemsWithDataSource(dataSource))            .adddisposableto(disposeBag)        dataSource.cellFactory = { (tv,ip,user: User) in            let cell = tv.dequeueReusableCellWithIDentifIEr("Cell")!            cell.textLabel?.text = user.firstname + " " + user.lastname            return cell        }        // customization using delegate        // RxtableVIEwDelegateBrIDge will forward correct messages        tableVIEw.rx_setDelegate(self)            .adddisposableto(disposeBag)        tableVIEw.rx_itemSelected            .subscribeNext { [uNowned self] indexPath in                self.showDetailsForUserAtIndexPath(indexPath)            }            .adddisposableto(disposeBag)        tableVIEw.rx_itemDeleted            .subscribeNext { [uNowned self] indexPath in                self.removeUser(indexPath)            }            .adddisposableto(disposeBag)        RandomUserAPI.sharedAPI.getExampleUserResultSet()            .subscribeNext { [uNowned self] array in                self.users.value = array            }            .adddisposableto(disposeBag)    }    overrIDe func setEditing(editing: Bool,animated: Bool) {        super.setEditing(editing,animated: animated)        tableVIEw.editing = editing    }    // MARK: table vIEw delegate ;)    func tableVIEw(tableVIEw: UItableVIEw,heightForheaderInSection section: Int) -> CGfloat {        return 0    }    // MARK: Navigation    private func showDetailsForUserAtIndexPath(indexPath: NSIndexPath) {        let sb = UIStoryboard(name: "Main",bundle: NSBundle(IDentifIEr: "RxExample-iOS"))        let vc = sb.instantiateVIEwControllerWithIDentifIEr("DetailVIEwController") as! DetailVIEwController        vc.user = getUser(indexPath)        self.navigationController?.pushVIEwController(vc,animated: true)    }    // MARK: Work over Variable    func getUser(indexPath: NSIndexPath) -> User {        var array: [User]        switch indexPath.section {        case 0:            array = users.value        default:            fatalError("Section out of range")        }        return array[indexPath.row]    }    func moveUserFrom(from: NSIndexPath,to: NSIndexPath) {        var user: User        var fromArray: [User]        var toArray: [User]        fromArray = users.value        user = fromArray.removeAtIndex(from.row)        users.value = fromArray        toArray = users.value        toArray.insert(user,atIndex: to.row)        users.value = toArray    }    func addUser(user: User) {        var array = users.value        array.append(user)        users.value = array    }    func removeUser(indexPath: NSIndexPath) {        var array: [User]        switch indexPath.section {        case 0:            array = users.value            array.removeAtIndex(indexPath.row)            users.value = array        default:            fatalError("Section out of range")        }    }}

如果我能帮助它,我甚至不想使用SectionModel.

所以也许另一种问题是“RxtableVIEwSectionedReloadDataSource的非节版本是什么?”

解决方法 2015年12月6日左右,RxSwift / RxExample增加了一个新示例.要查看的VIEw Controller在 RxSwift代码中是 SimpleTableViewExampleViewController.swift.

如果运行示例,请选择标题为“最简单的表视图示例”的示例

总结

以上是内存溢出为你收集整理的RxSwift和如何使简单的TableViewController?全部内容,希望文章能够帮你解决RxSwift和如何使简单的TableViewController?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
RxSwift和如何使简单的TableViewController?_app_内存溢出

RxSwift和如何使简单的TableViewController?

RxSwift和如何使简单的TableViewController?,第1张

概述如何创建Rx Swift风格的TableViewController? 我正在尝试创建一个使用RxSwift的简单TableViewController,并且没有任何部分. 我已经广泛地看了https://github.com/ReactiveX/RxSwift/blob/master/RxExample/RxExample/Examples/TableView/TableViewControll 如何创建Rx Swift风格的tableVIEwController?

我正在尝试创建一个使用RxSwift的简单tableVIEwController,并且没有任何部分.

我已经广泛地看了https://github.com/ReactiveX/RxSwift/blob/master/RxExample/RxExample/Examples/TableView/TableViewController.swift.

我将代码仅限于一个部分并仅使用用户.然而,似乎我仍然坚持使用SectionModel.

////  tableVIEwController.swift//  RxExample////  Created by carlos on 26/5/15.//  copyright (c) 2015 Krunoslav Zaher. All rights reserved.//// modifIEd by Mike Finney for a StackOverflow questionimport UIKit#if !RX_NO_MODulEimport RxSwiftimport RxCocoa#endifclass tableVIEwController: VIEwController,UItableVIEwDelegate {    @IBOutlet weak var tableVIEw: UItableVIEw!    var disposeBag = disposeBag()    let users = Variable([User]())    let dataSource = RxtableVIEwSectionedReloadDataSource<SectionModel<String,User>>()    typealias Section = SectionModel<String,User>    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        self.navigationItem.rightbarbuttonItem = self.editbuttonItem()        users            .map { [ SectionModel(model: "ok",items: ) ] }            .bindTo(tableVIEw.rx_itemsWithDataSource(dataSource))            .adddisposableto(disposeBag)        dataSource.cellFactory = { (tv,ip,user: User) in            let cell = tv.dequeueReusableCellWithIDentifIEr("Cell")!            cell.textLabel?.text = user.firstname + " " + user.lastname            return cell        }        // customization using delegate        // RxtableVIEwDelegateBrIDge will forward correct messages        tableVIEw.rx_setDelegate(self)            .adddisposableto(disposeBag)        tableVIEw.rx_itemSelected            .subscribeNext { [uNowned self] indexPath in                self.showDetailsForUserAtIndexPath(indexPath)            }            .adddisposableto(disposeBag)        tableVIEw.rx_itemDeleted            .subscribeNext { [uNowned self] indexPath in                self.removeUser(indexPath)            }            .adddisposableto(disposeBag)        RandomUserAPI.sharedAPI.getExampleUserResultSet()            .subscribeNext { [uNowned self] array in                self.users.value = array            }            .adddisposableto(disposeBag)    }    overrIDe func setEditing(editing: Bool,animated: Bool) {        super.setEditing(editing,animated: animated)        tableVIEw.editing = editing    }    // MARK: table vIEw delegate ;)    func tableVIEw(tableVIEw: UItableVIEw,heightForheaderInSection section: Int) -> CGfloat {        return 0    }    // MARK: Navigation    private func showDetailsForUserAtIndexPath(indexPath: NSIndexPath) {        let sb = UIStoryboard(name: "Main",bundle: NSBundle(IDentifIEr: "RxExample-iOS"))        let vc = sb.instantiateVIEwControllerWithIDentifIEr("DetailVIEwController") as! DetailVIEwController        vc.user = getUser(indexPath)        self.navigationController?.pushVIEwController(vc,animated: true)    }    // MARK: Work over Variable    func getUser(indexPath: NSIndexPath) -> User {        var array: [User]        switch indexPath.section {        case 0:            array = users.value        default:            fatalError("Section out of range")        }        return array[indexPath.row]    }    func moveUserFrom(from: NSIndexPath,to: NSIndexPath) {        var user: User        var fromArray: [User]        var toArray: [User]        fromArray = users.value        user = fromArray.removeAtIndex(from.row)        users.value = fromArray        toArray = users.value        toArray.insert(user,atIndex: to.row)        users.value = toArray    }    func addUser(user: User) {        var array = users.value        array.append(user)        users.value = array    }    func removeUser(indexPath: NSIndexPath) {        var array: [User]        switch indexPath.section {        case 0:            array = users.value            array.removeAtIndex(indexPath.row)            users.value = array        default:            fatalError("Section out of range")        }    }}

如果我能帮助它,我甚至不想使用SectionModel.

所以也许另一种问题是“RxtableVIEwSectionedReloadDataSource的非节版本是什么?”

解决方法 2015年12月6日左右,RxSwift / RxExample增加了一个新示例.要查看的VIEw Controller在 RxSwift代码中是 SimpleTableViewExampleViewController.swift.

如果运行示例,请选择标题为“最简单的表视图示例”的示例

总结

以上是内存溢出为你收集整理的RxSwift和如何使简单的TableViewController?全部内容,希望文章能够帮你解决RxSwift和如何使简单的TableViewController?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1008056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存