当前位置: 首页 > 面试题库 >

无法下标[AnyObject]的值?索引类型为Int

夏侯嘉荣
2023-03-14
问题内容

这是在扩展PFQueryTableViewController的类中,并且出现以下错误。这些行将是PFUser唯一的。
为什么我无法投放?有没有解决的办法?

错误是:

Cannot subscript a value of [AnyObject]? with an index of type Int

…对于这一行:

var user2 = self.objects[indexPath.row] as! PFUser

在此处输入图片说明


问题答案:

问题不在于演员,而是事实,它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,然后调用其下标。

从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


 类似资料:
  • 问题内容: 我一直在尝试创建代码以生成随机名称。这里是 但是在“ let name”行上,这给了我标题上的错误。有谁知道为什么以及如何解决它? 问题答案: 您应该使用来按索引访问数组 取代这个 有了这个

  • 问题内容: 我通过以下方式添加: 现在,我在中的关键字上收到以下错误消息: 我在所有其他功能中都使用了该功能,但从未遇到此错误 问题答案: 更改为。 我不确定编译器到底在想什么(或者它的疯狂错误消息来自何处),但是我的猜测是: 在Swift中,必须先初始化变量,然后才能使用。造成这种情况的一个原因是,编译器无法验证不会尝试调用其获得的所有内容,或执行其他操作,例如访问将在之后初始化的其他变量,这取

  • 我得到错误“无法将类型‘Int’的值转换为预期的参数类型‘Dictionary’。第8行的索引' '

  • 部署到本地JBOSS服务器时会发生此错误。是否有解决此警告的方法? 22:31:22992警告[org.jboss.as.server.deployment](MSC服务线程1-13)JBAS015852:无法索引类com/company/core/security/AuthRealm。类位于/C:/DevTools/jboss-eap-6.3/bin/content/platform-ws-0.

  • 问题内容: 一段相当简单的代码 生成以下编译时错误 简单的类型检查告诉我这是 我可以更改为,一切都会正常 但我想了解为什么会出现错误?是否不再?还是这是一个错误? 问题答案: 在b6中,String不再神奇地桥接到NSString。字符串不是类;它不是类。这是一个结构。您需要手工进行桥接: 似乎仍在桥接的事实可能是一个错误,应该报告。 不言而喻的是和应作为你的代码越少越好。 (请确保遵循以下评论中

  • 本文向大家介绍简单介绍下MYSQL的索引类型,包括了简单介绍下MYSQL的索引类型的使用技巧和注意事项,需要的朋友参考一下 一、介绍一下索引的类型 Mysql常见索引有:主键索引、唯一索引、普通索引、全文索引、组合索引 PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引) ALTER