SegmentControl未在iOS Swift中选择

时间:2018-12-01 13:22:51

标签: ios swift uisegmentedcontrol

我在项目内部使用了段控制。在选择中,我正在显示我的表视图数据,但是在加载后什么都没有显示,但是在按下按钮之后所有数据都显示了。因此,顾虑是默认情况下我的细分控件已选中,但数据未填充到表视图上。不过,我还是使用了细分控件选择方法

// ViewController

import UIKit

class MyOrdersTableViewCell: UITableViewCell {

    //MARK: IBOutlets

    @IBOutlet weak var orderNo: UILabel!

    @IBOutlet weak var apptDateLabel: UILabel!

    //MARK: Variables

    var orderDetails:BookingMasterModel?{
        didSet{
            setOrders()
        }
    }

    class var identifier: String {
        return String(describing: self)
    }

    class var nib: UINib {
        return UINib(nibName: identifier, bundle: nil)
    }

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code


    }

    //MARK: Extra Function
    //*******************

    // function call when set ordres cell called
    func setOrders(){

        guard let txt = orderDetails?.names else {return}
        self.orderNo.text = txt

    }


}

在牢房内部,我正在执行此操作

{
    "id": 22,
    "name": "test",
    "startdate": "2019-01-01",
    "enddate": "2018-12-26"
}

2 个答案:

答案 0 :(得分:1)

问题在于,由于没有数据而没有任何totalOrders时,您正在从select st.* , s.updated , s.remaining from SecondaryTags st join (select rowid , sum(status = 1) as updated , sum(status = 0) as remaining from sync s where s.definitionId = 1 group by s.rowid ) s on s.rowid = st.id where st.AppId = 2; 的操作中调用callUpdatedOrders(totalOrders: totalOrders)。因此,如果您想在UISegmentedControl出现时显示数据,请致电ViewController,然后在向callMyOrders() callUpdatedOrders(totalOrders: totalOrders)。 >

totalOrders

注释:

  • 您不必使用参数if let details = orderObj.bookingMasterModels { for value in details { self.totalOrders.append(value) } print("Total Orders:- \(self.totalOrders.count)") } self.callUpdatedOrders(totalOrders: totalOrders) 调用函数callUpdatedOrders,...,因为totalOrders是全局变量
  • totalOrders中,您应该只拨打viewDidLoadsuper.viewDidLoad()
  • configureSearchController()的末尾,您不必调用callMyOrders(),当您将值设置为self.tableView.reloadData()时将调用此方法

答案 1 :(得分:0)

实际上,当您第一次在segmentControl中调用callUpdateOrders时,它没有在updateArray中获取数据。因此请按照Robert的建议在callMyOrders中调用它。