这是在扩展PFQueryTableViewController的类中,并且出现以下错误。这些行将是PFUser唯一的。 为什么我无法投放?有没有解决的办法?
PFUser
错误是:
Cannot subscript a value of [AnyObject]? with an index of type Int
…对于这一行:
var user2 = self.objects[indexPath.row] as! PFUser
问题不在于演员,而是事实,它self.objects似乎是一个可选数组:[AnyObject]?。 因此,如果要通过下标访问其值之一,则必须首先解开数组:
self.objects
[AnyObject]?
var user2: PFUser if let userObject = self.objects?[indexPath.row] { user2 = userObject as! PFUser } else { // Handle the case of `self.objects` being `nil`. }
该表达式self.objects?[indexPath.row]使用可选的链接来首先解包self.objects,然后调用其下标。
self.objects?[indexPath.row]
从Swift 2开始,您还可以使用guard语句:
var user2: PFUser guard let userObject = self.objects?[indexPath.row] else { // Handle the case of `self.objects` being `nil` and exit the current scope. } user2 = userObject as! PFUser