我在项目内部使用了段控制。在选择中,我正在显示我的表视图数据,但是在加载后什么都没有显示,但是在按下按钮之后所有数据都显示了。因此,顾虑是默认情况下我的细分控件已选中,但数据未填充到表视图上。不过,我还是使用了细分控件选择方法
// 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"
}
答案 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()
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
中,您应该只拨打viewDidLoad
和super.viewDidLoad()
configureSearchController()
的末尾,您不必调用callMyOrders()
,当您将值设置为self.tableView.reloadData()
时将调用此方法答案 1 :(得分:0)
实际上,当您第一次在segmentControl中调用callUpdateOrders时,它没有在updateArray中获取数据。因此请按照Robert的建议在callMyOrders中调用它。