我有一个空数组中的产品。当视图出现时有时出现异常,例如Terminating due to NSRangeException
,Index 0 beyond bounds for empty NSArray
。我想有条件地检查数组的第一个值,但我没有一个适当的想法如何解决它。有人可以建议我如何解决这个问题。此代码位于视图控制器的ViewDidLoad
上。NSRangeException。对于空的NSArray索引0超出界限
MCIAPHelper.sharedInstance.requestProductsWithCompletionHandler({ (success, products) ->() in
if success {
NSLog("\(String(describing: products?.count)) product count")
self.fetchedProducts = products as? [SKProduct]
NSLog("\(self.fetchedProducts.count) fetched product")
if let product = products?[0] as? SKProduct { //getting exception in this line
let numberFormatter = NumberFormatter()
numberFormatter.formatterBehavior = NumberFormatter.Behavior.behavior10_4
numberFormatter.numberStyle = NumberFormatter.Style.currency
numberFormatter.locale = product.priceLocale
if let productPrice = numberFormatter.string(from: product.price) {
self.purchaseFullVersionSubtitle.text = "Use this app forever for only \(productPrice)"
}
}
} else {
//TODO: Error Handling
}
})
有人建议如何在斯威夫特3解决这个问题?尝试访问阵列[0]
,查找空的NSArray
。
做你检查的产品阵列不是零? –