我想知道如何在加载远程数据后显示VC。我没有使用tableView,而是使用普通的VC。
我的代码如下所示:
@Html.RestrictedActionLink("Edit", "Edit", "Parameter", new[] { "Admin" }, this.User, new { vendorId = Model.VendorId, effectiveDate = Model.EffectiveDate, createNew = false })
@if (Model.AllowCancel)
{
@Html.RestrictedActionLink("Copy", "Edit", "Parameter", new[] { "Admin" }, this.User, new { vendorId = Model.VendorId, effectiveDate = Model.EffectiveDate });
}
@if (Model.AllowCancel)
{
@Html.RestrictedActionLink("Cancel...", "", "", new[] { "Admin" }, User, null, new { @class = "CancelParam", vendorId = Model.VendorId, effectiveDate = Model.EffectiveDate, disabled = !Model.AllowCancel });
}
:
viewDidLoad
我的VC首先加载按钮可见,并且我的文本标签包含来自storyboard的“虚拟文本”,然后当数据加载时,按钮将隐藏,文本标签将会改变。
所以现在我的问题是如何在数据加载之前隐藏我的VC或显示一些加载指示器。
另外值得一提的是这是第二种观点。我的应用程序以tableView开头,当您单击一个单元格时,您最终会进入此VC。因此,我还可以在单击单元格时加载数据,然后将其传递给此VC。
答案 0 :(得分:1)
使用活动指标会更好,这里有怎么做
首先确保在VC中添加Activity Indicator
override func viewDidLoad() {
super.viewDidLoad()
self.myActivityIndicator.startAnimating()
loadItemData(id)
}
func loadItemData(aId: Int) {
Service.getItem(aId) { (JSON) -> () in
self.iData = JSON
self.configureData(self.iData)
self.myActivityIndicator.stopAnimating()
}
}
不是试图隐藏VC(尝试加载数据并传递它),而是让应用程序感觉无响应,因为您必须等待加载的数据然后VC才会显示。