Ios SWIFT 5-TableView将加载/等待指示器添加到SelectRowAt功能-UITableViewDelegate

Ios SWIFT 5-TableView将加载/等待指示器添加到SelectRowAt功能-UITableViewDelegate,ios,objective-c,swift,Ios,Objective C,Swift,问题: 我有一个来自苹果的奇怪bug,应用程序内从苹果购买API花费了太长的时间,有时用户会困惑于后台什么都没有发生 解决方案: 因此,我需要在我的TableViewdidSelectRowAt功能中添加一个加载指示器,直到在后台处理来自In-App的响应。有办法做到这一点吗 请参阅下面我的代码片段,我需要添加加载并在最后清除加载函数 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

问题: 我有一个来自苹果的奇怪bug,应用程序内从苹果购买API花费了太长的时间,有时用户会困惑于后台什么都没有发生

解决方案: 因此,我需要在我的TableViewdidSelectRowAt功能中添加一个加载指示器,直到在后台处理来自In-App的响应。有办法做到这一点吗

请参阅下面我的代码片段,我需要添加加载并在最后清除加载函数

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

//start loading
        switch indexPath.row {
            case 0:  IAPService.shared.purchase(product: .Weekly)
            case 1:  IAPService.shared.purchase(product: .Monthly)
            case 2:  IAPService.shared.purchase(product: .Quarterly)
            case 3:  IAPService.shared.purchase(product: .SemiAnnually)
            case 4:  IAPService.shared.purchase(product: .Annually)
            default: IAPService.shared.restorePurchases()
        }
//end loading
    }

最好的方法是什么?我认为该函数在后台异步运行,因为我不清楚将加载放在哪里?

SKProductsRequestDelegate、SKPaymentTransactionObserver的委托方法中,在得到结果后,可以停止结束加载