【问题标题】:converter swift2 to swift3 doesn't return correct?转换器 swift2 到 swift3 不返回正确?
【发布时间】:2017-01-24 09:21:51
【问题描述】:

我想将我的代码源从 swift 2.3 转换为 swift 3 但我不能,请问你能帮帮我吗??

for transaction:AnyObject in transactions {
            let trans = transaction as! SKPaymentTransaction
            print(trans.error)

            switch trans.transactionState {

            case .purchased:
                let prodID = buyingProduct
                switch prodID {
                case ?adsid:
                    print("remove ads")
                    defaults.set(true, forKey: "adsremoved")
                    didbuyad = true
                case ?levelsid:
                    print("add levels to account")
                    self.unlockAllLevels()
                default:
                    print("IAP not setup")
                }
                SKPaymentQueue.default().finishTransaction(transaction as!
SKPaymentTransaction)
                queue.finishTransaction(trans)
                break;
            case .failed:
                print("buy error")
                SKPaymentQueue.default().finishTransaction(transaction as!
SKPaymentTransaction)
                queue.finishTransaction(trans)
                break;
            default:
                print("default")
                break;

            }
        }
    }

没有返回正确的值

【问题讨论】:

    标签: ios swift2 swift3


    【解决方案1】:

    只需删除“?”来自案例。

    for transaction:AnyObject in transactions {
            let trans = transaction as! SKPaymentTransaction
            print(trans.error)
    
            switch trans.transactionState {
    
            case .purchased:
                let prodID = buyingProduct
                switch prodID {
                case adsid:
                    print("remove ads")
                    defaults.set(true, forKey: "adsremoved")
                    didbuyad = true
                case levelsid:
                    print("add levels to account")
                    self.unlockAllLevels()
                default:
                    print("IAP not setup")
                }
                SKPaymentQueue.default().finishTransaction(transaction as!
                    SKPaymentTransaction)
                queue.finishTransaction(trans)
                break;
            case .failed:
                print("buy error")
                SKPaymentQueue.default().finishTransaction(transaction as!
                    SKPaymentTransaction)
                queue.finishTransaction(trans)
                break;
            default:
                print("default")
                break;
    
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-16
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      相关资源
      最近更新 更多