远程数据加载后,swift alamofire显示viewcontroller

时间:2016-06-21 21:39:55

标签: ios json xcode swift alamofire

我想知道如何在加载远程数据后显示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。

1 个答案:

答案 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才会显示。