gpt4 book ai didi

ios - 如何获取 Stripe 信息?

转载 作者:行者123 更新时间:2023-11-30 13:31:14 25 4
gpt4 key购买 nike

我试图从 strip 对象中附加某些信息,但收到错误下标的使用不明确。我如何解决它?我有不止一张卡存储在 strip 中,当我打印成功时,我会获取卡的所有信息,出于安全原因,我不会发布控制台。它还在 print(success![i])

处崩溃
    if let stripecust = object["Stripe"] as? String{
PFCloud.callFunctionInBackground("Customer", withParameters: ["customerId" : stripecust]) { (success: AnyObject?, error: NSError?) -> Void in
if(error == nil){
print(success)

for(var i = 0; i < success?.count; i++){
print(success![i]) //crashes here with error "fatal error: unexpectedly found nil while unwrapping an Optional value"
if let type = success!["data"] as? [[String:AnyObject]] //error here {
self.cardtype.append(String(type[i]["brand"]!))

}

if let numbercard = success!["data"] as? [[String:AnyObject]] //error here {

self.lastfour.append(String((numbercard[i]["last4"]!)))

}

if let holdercard = success!["data"] as? [[String:AnyObject]] //error here{

self.cardholder.append(String(holdercard[i]["name"]!))

}



}


}else{
print(error)
}
}
}
}
})
}

最佳答案

这里至少有两个问题。

您的 block 声明为我们提供了类型 success: AnyObject?,因此 success 是一个可选的 AnyObject,这就是我们可以假设的全部内容。

  1. 在任何地方使用 success! 时,您都在强制解包该可选值,声明您知道此时它不会为零。您的 unexpectedfound nil while unwrapping anOptional value 错误表明这不是一个安全或有效的假设。似乎存在 error 为零但 success 也为零的情况。您需要处理这个问题,或者至少更仔细地检查它(保护语句和可选绑定(bind)是此类检查的绝佳工具)。
  2. 成功![“数据”]为?鉴于 success 的类型为 AnyObject?,[[String:AnyObject]] 不是有效的语句。 AnyObject 不支持下标运算符。成功也可能是支持下标的更具体的类型,但现在编译器(或我们阅读您的问题的人)无法知道这一点。看起来 success 是一个带有字符串“data”键的字典,因此一种选择是在尝试使用下标之前对其进行强制转换:
<小时/>
if
let successDictionary = success? as? [String: AnyObject],
let data = successDictionary["data"] as? [[String: AnyObject]]
{
...
}

关于ios - 如何获取 Stripe 信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36563641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com